簡體   English   中英

GREP - 搜索特定的字符串向后搜索

[英]GREP - Searching for specific string going backwards

我想用grep搜索file.txt來找到一個以。結尾的url。 名為 “.doc”。 當它找到.doc時,我希望grep向后轉,並在該字符串的開頭找到“http://”。

輸出將是http://somesite.com/random-code-that-c​​hanges-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM