私のプログラムは、現在のディレクトリ内のすべてのファイルの偶数ラインを出力します。挿入する接頭辞
for file in . *
do
awk 'NR % 2 == 0' "$file"
done
私はそれが前にコロンファイルの名前を印刷したいです出力のすべての行。私はawkコマンドがその仕事をしている間に何かを挿入する方法を見つけることができません。 awkを使ってこれを行うことは不可能ですか?ご提案いただきありがとうございます。
私のプログラムは、現在のディレクトリ内のすべてのファイルの偶数ラインを出力します。挿入する接頭辞
for file in . *
do
awk 'NR % 2 == 0' "$file"
done
私はそれが前にコロンファイルの名前を印刷したいです出力のすべての行。私はawkコマンドがその仕事をしている間に何かを挿入する方法を見つけることができません。 awkを使ってこれを行うことは不可能ですか?ご提案いただきありがとうございます。
awk
は、何かを含む変数、ファイル名を含むFILENAME
変数をサポートします。シェルループは必要ありません。単純に:
awk 'NR % 2 == 0 {printf "%s:%s\n", FILENAME, $0}' *
これはどうですか?
IFS=$'\r\n'
for file in . *
do
for line in `awk 'NR % 2 == 0' "$file"`
do
echo $file: $line
done
done