ああ、まだ終わっていません。

ああ、まだ終わっていません。

次のファイルには次のコードがあります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ファイルから読み込むのではなく、標準入力の入力を待っています。だから終わりはありません...

おすすめ記事