grep正規表現はどうですか?

grep正規表現はどうですか?

こんにちは。 5桁の郵便番号を含むファイルがあります。

grepを使用して9から始まる郵便番号を印刷しようとしていますが、4から7までの数字のみを含めることができます。

私が使用するコマンドは

grep '[4-7], 9'$ zipcodesDataEntry.cvs

問題は、私が受け取った郵便番号に数字1 2 3 8が含まれていることです。私の出力は次のようになります。

95544
94554
94445
95567

ただし、次のような郵便番号があります。

91121
92231 

9ではなく4〜7の範囲の数字を除外しようとしています。

答え1

このファイルが与えられたら:

cat zipcodes 
95544 94554 94445 92231 95567 91121

このgrepを使用できます。

egrep -o '9[4-7]{4}' zipcodes 
95544
94554
94445
95567

答え2

入力ファイルの内容:

95544 
94554 
94445 
95567
91121 
92231

awk(使用できない場合)使用するには、egrep次のようにしてみてください。

awk '/9[4-7]{4}/' zip.txt

出力:

95544 
94554 
94445 
95567

答え3

grep '^9.[4-7].*' 郵便番号DataEntry.cvs

  1. ^ 比較される文字列の先頭
  2. .(ピリオド)はすべての文字と一致します。
  3. スター、0個以上

関連情報