grepで正規表現を使用して文字列を見つける方法

grepで正規表現を使用して文字列を見つける方法

listだから、会社の人々のリストを含むファイルがあります。各行には、役職(短い文字列)、年、名前(姓名)、給与、国籍(3つの大文字)が含まれています。カンマで区切られます。

grepとregexを使って2つを見つけたいです。

  1. 城がCで始まる人です。
  2. 3つの名前を持つすべての人

最初に試したことは次のとおりです。grep -E 'C\>' listただし、名前だけを返します(異常です)。 2番目のケース:grep "[[:alpha:]]\b[ ]\?[[:alpha:]]\b[]\?[[:alpha:]]" listしかし、それも失敗します。

ベストアンサー1

\>単語の終わりの正規表現(長さがゼロ)なので、姓と一致しない可能性C\>があります。スタート「C」で。たぶん試してみるべきだと思います\<C

[[:alpha:]]マッチまさに一つ文字なので、実際の名前とも一致しない可能性が高いです。*または同じ乗数を追加する必要があります+(EREでのみ?)。

おすすめ記事