Как разделить команду stdout на разделы, по одному для каждого файла?

попробуй

awk '{ printf "%05d%s\n",NR,substr($1,6)}' input_file > output_file

где

  • printf "%05d".. NRвыведет номер строки(NR(Номер записи )), дополненный 0
  • substr($1,6)извлечет подстроку первого аргумента$1(), начиная с 6
1
15.04.2020, 13:16
1 ответ

Если вас не волнует порядок строк, кроме сортировки по файлам, вы можете сделать это с помощью sort, добавляя перед каждой строкой идентификатор, например.

file1: line1
file2: line1
file1: line2

Затем вы можете передать результат через sort:

$ ( process-file1 & process-file2 & ); wait | sort
file1: line1
file1: line2
file2: line1

Вы можете, конечно, также добавить номера строк с этим подходом -, а затем просто использовать "sort -n".

Чтобы преобразовать его в точный формат, вы можете создать сценарий с помощью awk, чтобы удалить начальную часть и превратить ее в заголовок.

0
19.03.2021, 02:29

Теги

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