почему «чтение» каждой строки файла происходит намного быстрее, чем «xargs»

awk 'BEGIN { c1 = 5 } { print c1, $0 } FNR%200 == 0 { ++c1 }' file

Это инициирует переменную c1в 5 в начале программы awk. Затем все входные строки печатаются с предшествующим текущим значением этой переменной.

Для любой строки, чей номер строки(FNR)кратен 200, эта переменная будет увеличиваться на 1 после печати строки.

Увеличение до c1произойдет после печати строки 200, 400 и т. д.

По умолчанию разделителем между числом и исходными данными будет символ пробела. Измените его на вкладку (или что хотите ), установив OFSв блоке BEGIN(или используя -v OFS='\t'в командной строке awk):

.
awk 'BEGIN { OFS = "\t"; c1 = 5 } { print c1, $0 } FNR%200 == 0 { ++c1 }' file

Перенаправьте вывод в файл с новым именем, чтобы сохранить его.

4
22.07.2021, 12:20
0 ответов

Теги

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