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

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

Больше file.ex

efifc1a hygg4a hdy5d nhdw4s wesf3a fjfhyr jfhg gsfar 

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

 efifc1a nhdw4s jfhg hygg4a wesf3a gsfar hdy5d fjfhyr 

  • Извлечь адрес Mac из вывода
  • возможно ли добавить запятую в этот SQL?
  • Удалить обратную косую черту + последовательности новой строки
  • sed для удаления ведущего 91, если число равно 12 цифрам
  • Сортировка нескольких файлов csv на основе двух столбцов в каталоге
  • Извлечение значений из блока данных
  • копировать и вставлять текст с конца строки
  • sed - как удалить все строки, которые не совпадают
  • 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 

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

    Interesting Posts

    Присвоение значений массива переменной

    Прокрутка собственного init: как завершить / перезапустить?

    Kernel Panic – не синхронизация: VFS: невозможно монтировать root fs после компиляции нового ядра

    Скрипт всегда запускает два экземпляра

    Выполняет ли dstat захват диска при загрузке ОС?

    Как запустить find -exec?

    Поиск UNIX каталогов с помощью бинарного поиска?

    Запустить Tmux с конкретными приложениями на каждой панели?

    Как установить более новую версию MySQL workbench, чем доступно в репозиториях моего дистрибутива

    Мета-ключ не открывает меню «Действия» в Gnome 3

    Найти все анимированные gif-файлы в каталоге и его подкаталогах

    thunderbird – не может создать новую учетную запись gmail – страница oauth висит

    Извлечь данные из строки и добавить к линии?

    Логика, чтобы определить, работает ли экран GNU

    Куда идут файлы, если вы монтируете диск в папку, в которой уже есть файлы?

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