2016-11-14 8 views
-1

私はこのファイルを持っています。その後、開始時にその番号、名前と姓(誰かが2名または/および2人の姓ではなく、より多くを持つことができます)ファイル内の特定のパターンを検索する正規表現を見つける(Unix-Solaris)

21501 Sylvester Stallone     
21502 Tommy Lee Jones       
21503 Jean Claude Van Damme    

私はgrepを使用する必要があります。これまでのところ、私はこれら2つのオプションを考えています。私はほぼ100%確信していますが、どれも正しいわけではありませんが、それはスタートです。

grep -e [0-9]\{5\}[[:space:]][A-Z][a-z] 

grep '^([a-z]+)[ \s]([a-z]+)/n' 
+0

'{'と '[' 'はシェルにとって特別な意味を持ちますが、正規表現を引用符で囲む必要があります。 – Barmar

+0

あなたの質問は... –

+0

式の構造になるべきものは何ですか?どちらかが正しい場合は – CODrenia

答えて

1
grep -E -i '^[0-9]{5}([a-z]+){2,4}$' filename 

^行の先頭にパターンを固定します。次に、5桁の数字のあとに2〜4個の名前のあとにスペースがあります。 $は、行末にアンカーします。

-Eは拡張正規表現を使用し、-iは大文字と小文字を区別しないため、[A-Za-z]と言う必要はありません。

+0

ありがとうございます。それは私にすべてを非常に明確にしました。良い一日を! – CODrenia

関連する問題