ファイルがありますfruits
。
ap ple
ora nge
pe ar
gra pes
bro ccoli
tom ato
ap ache
ファイルにいくつかの果物があるかどうかを確認するためにawkスクリプトを作成したいと思います。
頑張りました
awk -F: '/ap|ora|pe|gra ple|nge|ar|pes/ {sum+=1} END {print sum+0}' fruits
4つのペアが正確に一致するため、4を返す必要がありますが、ap ache
この場合、スペースが登録されていないため5を返すようです。
ベストアンサー1
正規ap|ora|pe|gra ple|nge|ar|pes
表現の一致
ap
またはora
pe
または gra ple
または nge
またはar
pes
間にスペースがある2つの別々の選択肢を一致させるには、いくつかのグループ化を追加する必要があります。
$ awk '/(ap|ora|pe|gra) (ple|nge|ar|pes)/' fruits
ap ple
ora nge
pe ar
gra pes
$ awk '/(ap|ora|pe|gra) (ple|nge|ar|pes)/ {sum+=1} END{print sum}' fruits
4
デフォルト値はレコード全体と一致するため、-F
空白以外の値に設定する必要はありません。/pattern/