従業員テーブルを作成しました。
1 Andy Account
2 Grecie HR
3 Jyorge Marketing
4 Seeya HR
5 Princy Account
6 Siya Production
ここで4番目と6番目のスタッフは名前は同じですが、スペルが異なります。そのため、grepコマンドを使用してそのレコードのみを表示したいと思います。私は以前試しました:
grep S[iee]ya emp
そして
grep S[[i][ee]]ya emp
しかし、成功しませんでした。解決策はありますか?
答え1
[...]
|
or演算子を含むグループを使用したいグループの代わりに文字クラスを作成します。
grep 'S\(ee\|i\)ya' emp
このようなグループを作成し、その2行を探します。 grepに拡張正規表現を使用するように指示してクリーンアップすることもできます。-E
その後、文字を特別にするために文字をエスケープする必要はありません。
grep -E 'S(ee|i)ya' emp
答え2
grep には OR 演算子 "|" が必要です。
grep -E 'S(i|ee)ya' emp
4 Seeya HR
6 Siya Production
答え3
grep 'S.*ya'
うまくいくようです。数量子一致数の*
範囲は 0 から無限大までです。