次のファイルには次のコードがありますawktest1.awk
。
#!/bin/awk -f
BEGIN{print "start"}
{print $2, "\t", $5}
END{print "end"} employee.txt
これにはemployee.txt
次のデータが含まれます。
100 Thomas Manager Sales $5,000
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
500 Randy DBA Technology $6,000
awk
次のようにコマンドを実行します。
awk -f awktest1.awk
しかし、印刷だけでstart
終わりません。誰もが私がここで何を間違っているのかを理解できますか?
ベストアンサー1
エラーは、処理するファイル名がスクリプトに記載されていることです。employee.txt
スクリプトからそれを削除し、以下のように実行する必要があります。
awk -f awktest1.awk employee.txt
または、スクリプトが実行可能な場合でも
./awktest1.awk employee.txt
スクリプトは
#!/bin/awk -f
BEGIN{print "start"}
{print $2, "\t", $5}
END{print "end"}
実際にawk
ファイルから読み込むのではなく、標準入力の入力を待っています。だから終わりはありません...