Сохранить ../../../ в команде wget

Вы можете использовать sed, чтобы получить то, что вы хотите:

sed -e '
   /./!b
   /[^[:space:]]/!b
   /[^[:space:]][[:blank:]]\{1,\}[^[:space:]]/b

   :loop
      $q;N
      /\n.*\S[[:blank:]]\+\S/b
      s/\n/ /;tdummy
      :dummy
      s/[[:space:]]\{1,\}/&/3;t
   bloop
' yourfile


Пояснения

  • Пропустить пустые, пустые и строки с NF > 1.
  • Настройка цикл do-while в точке, где пространство шаблона содержит строку с одним полем.
  • Мы берем следующую строку и проверяем, имеет ли она NF > 1, после чего печатаем все пространство шаблонов и возвращаемся к чтению следующей строки.
  • Теперь мы знаем, что следующая строка также состоит из одного поля, поэтому мы продолжим и обрежем новую строку, соединяющую эти две части в пространстве шаблона.
  • Есть ли в пространстве шаблонов фрагменты из 3 пробелов? Если да, то мы печатаем все пространство шаблона и начинаем читать следующую строку.
  • В противном случае мы возвращаемся к циклу, который, в свою очередь, считывает следующую строку, но прикрепляет ее к существующему пространству шаблонов.

Результат

1
4 5 6 7 19
20 22
24 26 27
29 30 31 32
34 40 50 56
58 100
234 235 270 500
1234 1235 1236 1237
2300 2303 2304 2307
2309
0
29.10.2015, 22:56
0 ответов

Теги

Похожие вопросы