Centos gawkコマンドラインの使い方

Centos gawkコマンドラインの使い方

Centosで次のコマンドを実行しようとしてエラーが発生しますか? 「(」の近くに予期しないマークがあります。

gawk { if($0=="id323"){print $0} } doc.txt

答え1

awkシェルがコマンドを渡す前にこれを確認して解析するのを防ぐには、実際のスクリプトを二重引用符で囲む必要がありますawk

gawk '{ if( $0 == "id123"){ print $0 } }' doc.txt

ちなみに、これをよりエレガントに実行できます。

gawk '$0 == "id123" { print $0 }' doc.txt

答え2

何を達成したいのか分かりません。このコードはただはい文書の行に id323 が含まれています。あなたはそれからそれ以上の情報を得ることはできません。したがって、単純なgrepで十分です。

また:与えられた解決策はまったく正確ではないと思います。私の考えでは、
gawk '$0 ~/id323/ { print $0 }' doc.txt
次のように短くする必要があると思います。
gawk '$0 ~/id323/' doc.txt

関連情報