作者indianawang (阿川)
看板RegExp
標題[問題] 字串搜尋的問題
時間Tue Nov 29 21:22:25 2011
各位網友:有個問題請教,
用grep時我知道可以用^代表我要找的檔案中,有^後面
接開頭文字那一行,但是若我要找的文字是在那一行文
字的第二欄,我想不到有什麼方法可以例如:下面為該
檔案內容。我若找123 開頭的所在行,用grep ^123 myfile.txt,
就會出現第一行而已,第四行不會出現。但若我找該檔
案中,第二欄ABC開頭的所在行,用grep ABC myfile.txt,就四行
都會出現,而不是我想要的第一行、第四行難道要用grep ' ABC' myfile.txt來用嗎?
謝謝大家的解惑!
myfile.txt
1234 ABCD 第一行
5678 DABC 第二行
1324 EABC 第三行
4123 ABCE 第四行
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.211.80
1F:推 mars90226:應該是沒有像是^之類的代表第二欄的東西,不過你可以\s 11/29 21:27
2F:→ mars90226:用\sABC myfile.txt,\s表示空白,包含空白鍵、\t之類的 11/29 21:28
3F:推 LPH66:如果限定第二欄的話 ^\S*\s+ABC 類似這樣 11/29 22:01
4F:→ LPH66:\S 是 \s 的相反 它抓不是空白的東西 11/29 22:01
※ 編輯: indianawang 來自: 122.117.211.80 (11/29 22:09)
5F:→ qwertmn:awk 'NR=4 {print $2}' 11/30 06:27
6F:→ qwertmn:只看最後一行看錯意思= =" 拍謝 11/30 06:34
7F:→ qwertmn:awk '$2~/ABC/ {print}' 11/30 12:36
8F:→ indianawang:awk '$2~/^ABC/ {print}' 因為是第二欄的開頭,加^ 12/10 19:43