grep検索パターンの使い方は?

grep検索パターンの使い方は?

次のパターンがあるかどうかを確認するためにファイルを検索したいと思います text1,text2,[1.2.3,3.4.5,6.7.8,etc]。角カッコ内のカンマ数は定義されていません。

私は次のコマンドを試しましたが、その後にカンマが印刷されましたが、text1これはtext2私が望むものではありません。私は角かっこ内のカンマを探しています。

$ grep -E '[*,*]' myfile.txt

編集#1

以下は、いくつかのサンプル入力です。括弧内のカンマは、例の数より大きくても小さくてもかまいません(つまり、未定義の数であるため、正規表現を使用してキャプチャする必要がありました)。

1.com,1.2.3.4,txt1,txt11,['1.2.3.4', '5.6.7.8']
2.com,3.4.5.6,txt2,txt21,['5.6.6.6']
3.com,5.5.5.5,txt3,txt31,['1.1.1.1', '2.2.2.2', '3.3.3.3']

答え1

角かっこ内に1つ以上のカンマを含む行を一致させるには、次のようにします。

grep '\[.*,.*\]'

前任者。

$ grep '\[.*,.*\]' file
1.com,1.2.3.4,txt1,txt11,['1.2.3.4', '5.6.7.8']
3.com,5.5.5.5,txt3,txt31,['1.1.1.1', '2.2.2.2', '3.3.3.3']

角括弧は正規表現構文で特別な意味を持つため、エスケープする必要があります。-Ewithを使用する必要はなく、grepwithの基本パターンマッチング機能でgrep十分です。

メモ: grep一致を色で表示するのが一般的であるため、使用するパターンが実際に一致するパターンが何であるかがわかります。

   SS1

関連情報