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