Используйте awk для вставки строки после N вывод

Как насчет просто

cut -d= -f2 /tmp/file | xargs printf "%s "

Это работает потому что:

  1. Встроенное "printf" желание оболочки "повторится", если это получит больше аргументов, чем параметры, указанные в выходной строке
  2. xargs повернется, строки от входа в слова на командной строке передали printf
  3. сокращение будет использовать = в качестве разделителя и поставлять только, что следует за ним
  4. Конечно, строка printf отобразит вывод и так как никакая явная новая строка не добавляется, добавьте каждого в конец предыдущего.
7
28.05.2014, 18:19
2 ответа
[1185062] Проблема с вашим пытающимся решением заключается в том, что NR [1185527] awk's [1185528] - это счетчик записей [1185529] входа [1185530], в то время как вы хотите вставить новую строку, основываясь на счетчике количества [1185531] выходных [1185532] записей.
  1. Я не думаю, что awk держит такой счет на самом деле, но можно сделать что-то вроде

  2. , в котором мы определяем новую переменную [1185533] onr[1185534] (для [1185535] выходной номер записи [1185536] - имя переменной произвольное) и увеличивать ее каждый раз, когда мы сравниваем/печатаем нужный текст, затем проверять, не делится ли [1185537], что [1185538] на 3 и не печатает ли это новую строку.[1185067].

6
27.01.2020, 20:18
[1185060] правильно ли я понял, вы пытаетесь изобрести

0
27.01.2020, 20:18

Теги

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