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

有鑑於此 infile:

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

  1. ^ 正在比較的字串的開頭
  2. 。 (句點)匹配任意字符
  3. 星號,零個或多個

相關內容