[問題] 搜尋問題

看板Perl作者 (大腦人)時間13年前 (2010/08/23 20:07), 編輯推噓3(306)
留言9則, 7人參與, 最新討論串2/2 (看更多)
請教一個問題,假設我有一檔案 (file.txt) 內容是 == 192.168.16.1 asdsvfbvdfv 192.168.16.123 jibmhgfibg == 我用 `cat ./file.txt | grep "192.168.16.1"`; 會得到兩筆資料,請教一下有什麼快速方法是可以只取得第一筆資料的嗎 !? 如果不要把整個檔案讀入後在 parse ........ 謝謝 !! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.66.245.201

08/23 22:34, , 1F
grep "192.168.16.1" -m1
08/23 22:34, 1F

08/23 22:34, , 2F
怎麼會來perl版問這個問題?
08/23 22:34, 2F

08/23 23:41, , 3F
因為他在perl中用了反向引號對系統下命令
08/23 23:41, 3F

08/24 22:09, , 4F
要不要試看看egrep取代grep
08/24 22:09, 4F

08/25 10:32, , 5F
理解 也可以這樣 my ($line) = `cat ... | grep "..."`;
08/25 10:32, 5F

08/25 11:27, , 6F
grep 這樣用: grep '192.168.16.1\>'
08/25 11:27, 6F

08/25 23:32, , 7F
grep 加 -w 參數試試
08/25 23:32, 7F

08/26 12:17, , 8F
樓上方法可行 抓word就好了
08/26 12:17, 8F

12/18 17:11, , 9F
-w, 可以了。謝謝樓上大家 ^^
12/18 17:11, 9F
文章代碼(AID): #1CScIR13 (Perl)
文章代碼(AID): #1CScIR13 (Perl)