我想用grep搜索file.txt来找到以。结尾的url。 " .DOC&#34 ;.当它找到.doc时,我想让grep倒退并找到" http://"在该字符串的开头。
输出为http://somesite.com/random-code-that-changes-daily/somefilename.doc
此页面上只有1个.doc网址,因此多个搜索结果不应成为问题。
请原谅,我是新手。我确实找到了答案,但搜索了1个小时,再也找不到了。我愿意阅读和学习,但我认为我没有使用正确的搜索词来表达我想做的事情。谢谢。
答案 0 :(得分:2)
您还可以搜索http://
并在其后面的某处包含.doc
打印该行:
grep 'http://.*\.doc' file.txt
如果您只想打印匹配的部分,请使用-o
选项(如果您的grep版本支持它)。
答案 1 :(得分:1)
您可以使用regular expressions,
使用标记^
,您可以指明要查找的行的开头。
使用标记$
,您可以指明要查找的行的结尾。
然后,您可以执行类似
的操作grep '^http:\\' \ '.doc$' file.txt
或
grep '^http://\|.doc$' file.txt
或不使用正则表达式,但只使用带有通配符的匹配模式,如@choroba所示:
grep 'http://.*\.doc' file.txt