list
だから、会社の人々のリストを含むファイルがあります。各行には、役職(短い文字列)、年、名前(姓名)、給与、国籍(3つの大文字)が含まれています。カンマで区切られます。
grepとregexを使って2つを見つけたいです。
- 城がCで始まる人です。
- 3つの名前を持つすべての人
最初に試したことは次のとおりです。grep -E 'C\>' list
ただし、名前だけを返します(異常です)。 2番目のケース:grep "[[:alpha:]]\b[ ]\?[[:alpha:]]\b[]\?[[:alpha:]]" list
しかし、それも失敗します。
ベストアンサー1
\>
単語の終わりの正規表現(長さがゼロ)なので、姓と一致しない可能性C\>
があります。スタート「C」で。たぶん試してみるべきだと思います\<C
。
[[:alpha:]]
マッチまさに一つ文字なので、実際の名前とも一致しない可能性が高いです。*
または同じ乗数を追加する必要があります+
(EREでのみ?)。