2016-09-08 17 views
2

grepを使用grepを使用して12文字アルファベットのみの行を取得する

testing.txtには12文字のアルファベットのみの行がいくつありますか?

この抜粋からtesting.txt

tyler1 
Tanktop_Paedo 
[email protected] 
[email protected] 
justincrump 
cranges10 
[email protected] 
soulfunkbrotha 
timetolearnz 
[email protected] 
Fire_Crazy 
helloworldad 
[email protected] 

の抜粋、私は2(helloworldad、およびtimetolearnz)の結果を取得したい

私はそれらのすべての行とgrepを確認したいです各行に12文字があります。私はgrepでこれを行う方法を考えることができません。唯一のアルファベットの場合

、私は

grep [A-Za-z] testing.txt 

を使用することができると思うが、どのように私はそれがこれだけの文字[A-ZA-Z]は、これらの12個の文字に表示するのですか?

答えて

4

あなたは、拡張正規表現-Eとし、試合は$

$ grep -E "^[A-Za-z]{12}$" testing.txt 
timetolearnz 
helloworldad 

それともあなたが望む場合を完了するために開始^から正確{12}文字であることを指定することによって、それを行うことができます数を得るには-cあなたが使用できる行のうち

+0

ありがとうございました! – ellsusan

3

grepは例えば、全体のラインが一致してカウントをサポートしています。:

grep -xc '[[:alpha:]]\{12\}' testing.txt 

出力:

2 

[:alpha:]文字クラスは[A-Za-z]を別の言い方です。この件についての詳細は、infoページのセクション3.2:info grep 'Regular Expressions' 'Character Classes and Bracket Expressions'を参照してください。またはthe pdf manual onlineで調べてください。

関連する問題