我有一个要搜索的站点地图。问题是如果我执行 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' ./
最佳答案
使用 -o
选项,您只会得到匹配项本身;要在匹配前后获取一些字符,您可以只匹配任何字符——例如,对于您的示例字符串,匹配存在的匹配前后 10 个字符:
$ grep -o '.\{10\}/5135.\{10\}' <<< "$string"
.com/watch/5135</loc><cha
关于linux - grep 对返回文本的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35564564/