可以說我有以下文字:如何使用grep返回搜索詞嵌套在文本中的完整字符串?
大家好,我的名字是拉里,這是我的個人資料www.cool.com/imgreat請檢查出來。
egrep -i --color 'cool' filename
只是凸顯「酷」的出現在字符串中,但我想它返回「www.cool.com/imgreat」
可以說我有以下文字:如何使用grep返回搜索詞嵌套在文本中的完整字符串?
大家好,我的名字是拉里,這是我的個人資料www.cool.com/imgreat請檢查出來。
egrep -i --color 'cool' filename
只是凸顯「酷」的出現在字符串中,但我想它返回「www.cool.com/imgreat」
您可以一個一個地,如果任何行的條目匹配cool
打印整個單詞,則用一個簡單的awk
遍歷的條目。
$ string="Hi my name is Larry and this is my profile www.cool.com/imgreat please check it out"
$ awk '{for(i=1;i<=NF;i++) {if ($i ~ /cool/){print $i}}}' <<<"$string"
www.cool.com/imgreat
試試這個,這應該是那個正則表達式匹配一個網站的模式(這並不comprend HTTP/HTTPS): [[email protected]:%._\+~#=]{2,256}\.[a-z]{2,6}\b([[email protected]:%_\+.~#?&=]*)
所以,你的命令應該是:
egrep -i --color '[[email protected]:%._\+~#=]{2,256}\.[a-z]{2,6}\b([[email protected]:%_\+.~#?&=]*)' filename
如果你想提取含01部分由WS分隔,您可以用awk
$ awk '{for(i=1;i<NF;i++) if ($i ~ /cool/)print $i}' <<< """Hi my name is Larry and this is my profile www.cool.com/imgreat please check it out."""
www.cool.com/imgreat
你會得到整個等。這不夠嗎? –
對不起,我不明白你的意思? – NeverPhased