私は正規表現を使用するのが初めてです。誰かが私を助けてくれることを願っています。以下の正規表現を使用して、正確に 1 つのパイプ文字 (つまり |) を含む文字列の csv ファイルを grep しています。
grep "^([^\\|]+\\|){1}[^\\|]+$" myfile.csv
残念ながら、上記を grep で使用しても結果は得られません。何か案は?
サンプルの csv ファイルの内容は次のとおりです。2 行目が見つかるはずです。
"foo"|"foo"|"foo"
"bar"|"bar"
この質問の解決策:
grep -E "^([^|]+\|){1}[^|]+$" myfile.csv
と
egrep "^[^|]+\|[^|]+$" myfile.csv