テキストファイルの1行に2つの(指定された)単語があることを確認する必要があります。単語の文字に制限はありません。たとえば、
テキストファイルで「cat」と「elephant」という単語の両方を含む行を探したいです(つまり、同じ行にある必要があり、必ず並んでいる必要はありません)。
Cat is smaller than elephant
Elephant is larger than cat
Cats are cute!
Elephants are very strong
Cat and elephants live in different environments
cats are friendly
前の例では、これら2つの単語を含む行をどのように見つけますか?
Cat is smaller than elephant
Elephant is larger than cat
Cat and elephants live in different environments
grepとawkを試しましたが、希望はありません。問題は、いくつかの単語には大文字と小文字がありますが、文字の状態に関係なく、これら2つの単語をどのように一致させることができるかということです。 ?
ベストアンサー1
そしてgrep
grep -i "cat" file | grep -i "elephant"
Cat is smaller than elephant
Elephant is larger than cat
Cat and elephants live in different environment
のフラグはgrep
大文字と小文字(大文字/小文字)を無視することです。
-i, --ignore-case ignore case distinctions
またはawk
awk 'BEGIN{IGNORECASE=1} /cat/&&/elephant/{print $0}' file
こんにちはawk
ステートメントを次のように実行することをお勧めします。
awk '/cat/&&/elephant/' IGNORECASE=1 file