ファイルを検索して、次のようなパターンを確認したいと思います:text1,text2,[1.2.3,3.4.5,6.7.8,etc]
存在します。角括弧内のコンマの数は未定義です。
次のコマンドを試しましたが、後にコンマが出力されますがtext1
、text2
これは私が望むものではありません。角かっこ内のコンマのみを探しています。
$ grep -E '[*,*]' myfile.txt
これがいくつかのサンプル入力です。角かっこ内のコンマは、例の数値よりも多い場合も少ない場合もあることに注意してください(つまり、未定義の数値なので、正規表現でキャプチャする必要があります)。
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つのコンマを含む行を照合するには、次を使用できます。
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']
角括弧は正規表現構文で特別な意味を持つため、エスケープする必要があります。で使用-E
する必要がなかったことに注意してくださいgrep
。の基本的なパターンマッチング機能でgrep
十分でした。
注: grep
通常、一致は色付きで表示されるため、使用するパターンによって実際に一致するものがわかります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加