awk + как добавить список в файл

У меня есть следующий список в файле

Больше file.ex

efifc1a hygg4a hdy5d nhdw4s wesf3a fjfhyr jfhg gsfar 

как добавить второй список после первого списка и третьего списка после второго списка:

 efifc1a nhdw4s jfhg hygg4a wesf3a gsfar hdy5d fjfhyr 

2 Solutions collect form web for “awk + как добавить список в файл”

Как насчет

 awk ' BEGIN {FS="\n"; RS="\n\n+"} {for (i=1;i<=NF;i++) a[i] = a[i] == ""? $i : a[i]"\t"$i; next} END {for (i in a) print a[i]} ' file.ex 

Тестирование:

 awk ' > BEGIN {FS="\n"; RS="\n\n+"} > {for (i=1;i<=NF;i++) a[i] = a[i] == ""? $i : a[i]"\t"$i; next} > END {for (i in a) print a[i]} > ' file.ex efifc1a nhdw4s jfhg hygg4a wesf3a gsfar hdy5d fjfhyr 

Если вы не застряли в использовании awk, вы можете сделать это, используя команду columns autogen и команду transpose описанную здесь. Транспонирование строк и столбцов, например

 columns -c3 < file.ex | tr -s ' ' '\t' | transpose -t 

Если вы принимаете временные файлы, вы можете сделать это как двухэтапный процесс с awk и paste :

 n=$(awk '{ print $0 > NR; close(NR) } END { print NR }' RS= file.ex) paste $(seq $n) 

Или как однострочный:

 paste $(seq $(awk '{ print $0 > NR; close(NR) } END { print NR }' RS= file.ex)) 

Выход в обоих случаях:

 efifc1a nhdw4s jfhg hygg4a wesf3a gsfar hdy5d fjfhyr 

Обратите внимание: это создает пронумерованные файлы в текущем каталоге, поэтому будьте осторожны, чтобы не перезаписывать другие файлы.

  • sed и многострочная замена
  • ошибка в awk / sed использование манипуляций с файлами по очереди
  • Добавление нового столбца с использованием информации из подзаголовков
  • Извлечение имени файла и строки из нескольких файлов
  • Awk и отбрасывание несовпадающих токенов в строке?
  • Подстановка первого вхождения шаблона в строку, для всех строк в файле с sed
  • Я хочу добавить «n» строк из файла (скажем, file1) в другой файл под «n» вхождения строки в другой файл, чтобы
  • Удалите кусок строк в соответствии с порядковыми номерами
  • разделить файл на две части, по шаблону
  • замените символ из строки, которая находится между первым и вторым поиском, используя sed или awk
  • Уменьшить использование файлов в текстовой обработке
  • Использование grep / awk / sed для сортировки и объединения двух файлов
  • Interesting Posts

    Сохранять обратную косую черту в $ 1

    Как сделать мой экран двухэкранным растяжением с Debian Jessie и Radeon RX460?

    Ошибка малины Pi RT.

    Изменение настроек аудиосистемы с помощью консоли в OpenSUSE 13.1

    Получить журнал из ядра при загрузке

    Перечислите directoties на один уровень, за исключением некоторых названных каталогов и файлов

    Почему процесс убит, а большая часть памяти свободна?

    Сценарий оболочки работает на терминале, а не когда он запускается cronjob

    ssh-ing на удаленную машину соединяет меня с локальной машиной?

    Нет Интернета после сна; «Нет доступных маршрутизаторов ipv6»

    ошибка виртуализации: методы установки "не могут быть указаны для гостей контейнера"

    zsh – сложное имя файла, соответствующее

    Как безопасно скопировать 5 самых последних файлов в локальный каталог

    Как использовать IBus с kde

    Есть ли способ, использующий скрипт bash, чтобы получить местоположение изменений, сделанных в последнем git-коммите?

    Linux и Unix - лучшая ОС в мире.