РЕДАКТИРОВАТЬ 2: Ваш вопрос кардинально изменился с 1 на другой, не берите в голову, пожалуйста, попробуйте ответить на вопрос 2 файла.
awk 'FNR==NR{a[FNR]=$0;next} NF==1{sub(/^>/,"");print a[++count],$0;next} 1' inputa inputb
РЕДАКТИРОВАТЬ: Поскольку OP упоминается в комментариях, OP хочет ввести 12 000 строк после каждой 10-й строки Input_file. Итак, вот сделка, я мог бы написать цикл, который будет каждый раз повторять код по 12000 раз, чтобы печатать пустые строки и очень медленно выполнять обработку кода для больших файлов. Я придумал что-то вроде создания файла, в котором сначала содержится 12 000 пустых строк, а затем в коде awk
просто вызывается его для печати строк, что будет намного быстрее, чем при печати 12 000 строк каждый раз в цикле.
1-й шаг: Создайте файл с 12 000 пустых строк следующим образом.
awk 'BEGIN{while(++i<=12000){print "" > "blank_file"}}'
2-й шаг: Проверка строк в файле 12 000.
wc -l "blank_file"
12000 blank_file
3-й шаг: Введите реальный код для печати 12000 пустых строк каждый раз в вашем реальном коде.
awk 'FNR%10==0{print;system("cat blank_file");next} 1' Input_file
ПРИМЕЧАНИЕ: На втором шаге вы можете изменить 12000
на количество пустых строк в этом цикле и также напечатать больше или меньше строк.
Допустим, вы хотите вставить 3 новые строки после каждых 10 строк Input_file, если это так, тогда вам может помочь следующее.
awk 'FNR%10==0{print $0 ORS ORS ORS;next} 1' Input_file
Если вы хотите перенести выходные данные в выходной_файл, добавьте > output_file
к вышеуказанному коду.