同じ行にある2つの単語を見つけるためにgrep(またはegrep)を使用したいと思います。オンタリオと月曜日
Flight# Airline Depart Arrive Day
------------------------------------------
93104 TEAM ONT LAX MONDAY
62876 GE NYC ONT THURSDAY
30118 LOGI ONT PHX FRIDAY
12033 F LAX PHX MONDAY
40990 ACTI PHX ONT MONDAY
92377 EA ONT PHX SUNDAY
さまざまなコマンドを試しましたが、フライト#93104を含む行の代わりにMONDAYまたはONTを含むすべての行が返されます。
答え1
可能:
grep "ONT.*MONDAY" file
答え2
ONT
3番目の列でその単語を見つけることができ、MONDAY
5番目の列でその単語を見つけることができることを知っている場合:
$ awk '$3 == "ONT" && $5 == "MONDAY"' file
93104 TEAM ONT LAX MONDAY
これは、空白を含まない列の値によって異なります。上記のコマンドは、awk
目的の単語を文字列で比較して3列と5列の値をテストし、テストに合格したすべての行を出力します。
ONT
3番目または4番目の列とMONDAY
5番目の列を一致させるには、次の手順を実行します。
$ awk '($3 == "ONT" || $4 == "ONT") && $5 == "MONDAY"' file
93104 TEAM ONT LAX MONDAY
40990 ACTI PHX ONT MONDAY
を使用した場合、grep
2つの単語が一致していることを確認できません。完全な言葉または正しい列(正規表現をあまり複雑にしない限り)