grepコマンドに問題がありますか?受信した文字が私の正規表現と一致しません。

grepコマンドに問題がありますか?受信した文字が私の正規表現と一致しません。

私は次のコマンドを実行しました。

grep -i 'bro*' shows.csv

そしてそれを出力として提供

1845307,2 Broke Girls,2011,138,6.7,89093
1702042,An Idiot Abroad,2010,21,8.3,29759
903747,Breaking Bad,2008,62,9.5,1402577
2249364,Broadchurch,2013,24,8.4,89378
1733785,Bron/Broen,2011,38,8.6,56357
2467372,Brooklyn Nine-Nine,2013,145,8.4,209571
7569592,Chilling Adventures of Sabrina,2018,36,7.6,69041
7221388,Cobra Kai,2018,31,8.7,72993
1355642,Fullmetal Alchemist: Brotherhood,2009,69,9.1,111111
118360,Johnny Bravo,1997,67,7.2,32185
455275,Prison Break,2005,91,8.3,465246
115341,Sabrina the Teenage Witch,1996,163,6.6,33458
1312171,The Umbrella Academy,2019,20,8,140800
3339966,Unbreakable Kimmy Schmidt,2015,51,7.6,61891

bro何が問題なの?実際、o彼は<ブレーキングバッド>にも出演しなかった。もう一度試しましたが、同じ結果が出ました。最後の文字は考慮しません。私が書いた方法に問題があるのでしょうか?

以下からshow.csvファイルをダウンロードできます。https://cdn.cs50.net/2021/x/seminars/linux/shows.csv

ベストアンサー1

あなたのコードはo*「ゼロ以上の発生o」を意味します。正規表現をglob構文(o*o文字1個と0個以上」を意味)と混同しているようです。

その後には正確にゼロ文字がBreaking Badあるので一致します(大文字と小文字を区別しません)。oBrbro*

grep -i bro shows.csv(私の考えでは)あなたが望むようにやります。

おすすめ記事