2016-08-11 8 views
1

私はAWKで正規表現を学んでいます。 AWK [^ ]は、にない文字と一致します。今、私はそれらの ''を抽出する必要がありますが、どのような単語の一部でもありません。私の入力ファイルがawk正規表現

a 
aa 
a+a 
.a.a 
bac 

ある場合

出力は次のようになります

a+a 
.a.a 

ため、これらの線が印刷されるように .a.aとはどんな言葉ではありません+。 だから私はこの

awk '/[^[a-z]]a[^[a-z]]/ {print} input_file' 

のような何かをした。しかし、これは動作しません。助けてください!

+0

とにかく '[^ [a-z]]'は '[^ a-z]'でなければなりません。 –

+0

'awk 'や[^ a-z]/{print} input_file''お試しください。 – shellter

+0

'a'は単語そのものです。だから私はそれが出力にあるべきではないと思った理由です –

答えて

4

これは、あなたが望むものであるかもしれない:

$ awk '/[^[:alpha:]]a|a[^[:alpha:]]/' file 
a+a 
.a.a 

あなたが扱わ入力ファイルにa..aをしたいかによって異なります。

+1

私は適切に文書化された質問を提供することに失敗しましたが、あなたは私が望む完璧なものを私に提供しました。ありがとうございました。 –