いくつかのテキストファイルがあります。各テキストファイルの最初の行の前に空白行を追加したいと思います。どうすればawkでこれを行うことができますか?
16829 次
5 に答える
15
GNU sed
私はこのタスクを好みます:
ファイルの先頭にスペースを追加するには:
sed '1s/.*/ &/' file.txt
拡張子が付いた複数のテキストファイルでこれを実行し.txt
、ファイルに直接変更を加える(つまり、ファイルを上書きする)には、次のことを試してください。
sed -s -i '1s/.*/ &/' *.txt
ファイルの先頭に空白行を追加するには:
sed '1i\\' file.txt
拡張子が付いた複数のテキストファイルでこれを実行し.txt
、ファイルに直接変更を加える(つまり、ファイルを上書きする)には、次のことを試してください。
sed -s -i '1i\\' *.txt
于 2012-09-30T04:48:21.953 に答える
5
これにより、データファイルの先頭に空白が表示されます。
awk 'BEGIN{printf(" ")}1' data.txt
または、データファイルの先頭に空白行が表示されます。
awk 'BEGIN{print""}1' data.txt
于 2012-09-30T04:26:55.957 に答える
3
の必要はありませんawk
:
echo -n ' ' | cat - file
于 2012-09-30T04:31:21.810 に答える
1
これはうまくいくはずです-
awk 'NR==1{a=$0; print ""; next} NR==2{print a; print $0; next}1' file
複数のファイルの場合-
awk 'FNR==1{a=$0; print ""; next} FNR==2{print a; print $0; next}1' file1 file2 file3
于 2012-09-30T04:24:38.220 に答える
0
perlとインラインで実行します。
perl -i -ne 'if(eof){$.=0;}if($.==1){print "\n";}print' temp temp2
tempとtemp2は2つの異なるファイルです。このコマンドを実行すると、各ファイルの先頭に空白行が自動的に追加されます。
于 2012-10-01T06:56:26.550 に答える