2016-02-22 26 views
0

我有一個站點地圖,我試圖通過搜索。問題是,如果我做了grep的,它返回整個文件,因爲在它沒有空格:對返回的文本的grep限制

rl><loc>http://www.hulu.com/watch/5564</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5560</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5559</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5548</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5547</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5544</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5532</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5531</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5530</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5529</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5528</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5527</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5526</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5525</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5417</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5416</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5415</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5414</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5263</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5262</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5261</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5136</loc><changefreq>daily</changefreq></url><url><loc>http://www.hulu.com/watch/5135</loc><changefreq>daily</changefreq></url><url><l 

有沒有辦法做到grep使得其僅/前後提取一定數目的字符搜索匹配?

我目前做:

$ grep -r '/23407' ./ 

回答

1

隨着-o選項,你得到的只是比賽本身;之前和之後你的匹配來獲取一些字符,你可以前後匹配,例如任何字符–爲10個字符,爲您例如字符串,與是否存在匹配:

$ grep -o '.\{10\}/5135.\{10\}' <<< "$string" 
.com/watch/5135</loc><cha 
+0

'$ grep -or'。\ {10 \}/23407。\ {10 \}'。/'< - 非常感謝! – David542

0

-o打印的選項僅匹配的模式。試試grep -o <pattern> <file>