[問題] 字串搜尋的問題

看板RegExp (正規表示式 Regular Expression)作者 (阿川)時間13年前 (2011/11/29 21:22), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
各位網友:有個問題請教, 用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

11/29 21:27, , 1F
應該是沒有像是^之類的代表第二欄的東西,不過你可以\s
11/29 21:27, 1F

11/29 21:28, , 2F
用\sABC myfile.txt,\s表示空白,包含空白鍵、\t之類的
11/29 21:28, 2F

11/29 22:01, , 3F
如果限定第二欄的話 ^\S*\s+ABC 類似這樣
11/29 22:01, 3F

11/29 22:01, , 4F
\S 是 \s 的相反 它抓不是空白的東西
11/29 22:01, 4F
※ 編輯: indianawang 來自: 122.117.211.80 (11/29 22:09)

11/30 06:27, , 5F
awk 'NR=4 {print $2}'
11/30 06:27, 5F

11/30 06:34, , 6F
只看最後一行看錯意思= =" 拍謝
11/30 06:34, 6F

11/30 12:36, , 7F
awk '$2~/ABC/ {print}'
11/30 12:36, 7F

12/10 19:43, , 8F
awk '$2~/^ABC/ {print}' 因為是第二欄的開頭,加^
12/10 19:43, 8F
文章代碼(AID): #1ErDoK-1 (RegExp)
文章代碼(AID): #1ErDoK-1 (RegExp)