[英]GREP - Searching for specific string going backwards
我想用grep搜索file.txt來找到一個以。結尾的url。 名為 “.doc”。 當它找到.doc時,我希望grep向后轉,並在該字符串的開頭找到“http://”。
輸出將是http://somesite.com/random-code-that-changes-daily/somefilename.doc
此頁面上只有1個.doc網址,因此多個搜索結果不應成為問題。
請原諒,我是新手。 我確實找到了答案,但搜索了1個小時,再也找不到了。 我願意閱讀和學習,但我認為我沒有使用正確的搜索條件來做我想做的事情。 謝謝。
您還可以搜索http://
並在其后面的某處包含.doc
打印該行:
grep 'http://.*\.doc' file.txt
如果只想打印匹配的部分,請使用-o
選項(如果您的grep版本支持它)。
你可以使用正則表達式 ,
使用標記^
您可以指示您要查找的行的開頭。
使用標記$
您可以指示您要查找的行的結尾。
那么,你可以做點什么
grep '^http:\\' \ '.doc$' file.txt
要么
grep '^http://\|.doc$' file.txt
或者不使用正則表達式,而只是使用帶有通配符的匹配模式@choroba建議:
grep 'http://.*\.doc' file.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.