看板 RegExp 關於我們 聯絡資訊
各位網友:有個問題請教, 用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
mars90226:應該是沒有像是^之類的代表第二欄的東西,不過你可以\s 11/29 21:27
mars90226:用\sABC myfile.txt,\s表示空白,包含空白鍵、\t之類的 11/29 21:28
LPH66:如果限定第二欄的話 ^\S*\s+ABC 類似這樣 11/29 22:01
LPH66:\S 是 \s 的相反 它抓不是空白的東西 11/29 22:01
※ 編輯: indianawang 來自: 122.117.211.80 (11/29 22:09)
qwertmn:awk 'NR=4 {print $2}' 11/30 06:27
qwertmn:只看最後一行看錯意思= =" 拍謝 11/30 06:34
qwertmn:awk '$2~/ABC/ {print}' 11/30 12:36
indianawang:awk '$2~/^ABC/ {print}' 因為是第二欄的開頭,加^ 12/10 19:43