Как добавить пустую строку перед первой строкой в текстовый файл с awk
У меня есть текстовые файлы. Я хотел бы добавить пустую строку перед первой строкой в каждом текстовом файле. Как я могу сделать это с awk?
5 ответов
Я бы предпочел GNU sed
для этой задачи:
чтобы добавить пробел в начало файла:
sed '1s/.*/ &/' file.txt
чтобы выполнить это на нескольких текстовых файлов с
это даст вам бланк пробел в начале файла данных:
awk 'BEGIN{printf(" ")}1' data.txt
в качестве альтернативы, это даст вам пустой строка в начале файла данных.
awk 'BEGIN{print""}1' data.txt
Это должно работать -
awk 'NR==1{a=; print ""; next} NR==2{print a; print ; next}1' file
для нескольких файлов -
awk 'FNR==1{a=; print ""; next} FNR==2{print a; print ; next}1' file1 file2 file3
сделайте это inline с perl:
perl -i -ne 'if(eof){$.=0;}if($.==1){print "\n";}print' temp temp2
temp и temp2-это два разных файла.после выполнения этой команды в начало каждого файла автоматически добавляется пустая строка.