行を読み、パターンと一致

行を読み、パターンと一致

私はこれを見つけることができません。ファイルの各行を見て、変数で指定された単語と一致することを確認する必要があります。

commandで始めましたが、readそれ以降は何を使うべきかわかりません。試してみましたが、grep間違って使用している可能性があります。

while read line; do 
  if [ $condition  ] ;then echo "ok" fi
done < file.txt

ベストアンサー1

簡単な紹介をしたら、私たちがやっていることは次のとおりです。

行1:ファイルを変数として読み込むときline

行2:正規表現と一致し、$line「bird」という単語と一致すると、その行をエコーし​​ます。このifステートメントで必要なすべての操作を実行してください。

行3:whileループが終わってファイルにパイピングfoo.text

#!/bin/bash
while read line; do
  if [[ $line =~ bird ]] ; then echo $line; fi
done <foo.text

「鳥」は正規表現です。このようにして、たとえば、bird.*word同じ行を正規表現に一致させることに置き換えることができます。

次のファイルを使用してfoo.textコンテンツを呼び出します。

my dog is brown
her cat is white
the bird is the word

おすすめ記事