こんにちは。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].*' zipcodesDataEntry.cvs
- ^ 比較する文字列の先頭
- . (ピリオド) 任意の文字に一致
- アスタリスク、0個以上