2011-09-11 38 views
0

我有一个字符串的以下模式:获得来自字符串的子串用grep命令

"METHOD URL VERSION" 

例如"GET /someurl/resource.html HTTP/1.1"

我怎样才能从这个字符串使用grep的URL。

我做了以下(假设字符串中包含f.txt)

cat f.txt | grep -P '[^(()|(\")|(HTTP\/\d\.\d)|(GET)|(POST))]+' -o 

,但它给了我这样的输出

someurl 
resource 
html 

如何取回/someurl/resource.html?

回答

1

这应做到:

grep -o "\/.* " 

好吧,如果你有一个模式:

“somestring1withoutspaces somestring2withoutspaces somestring3withoutspaces”,那么这两个作品:

grep -o " .* " 
awk '{print $2}' 
+0

网址可以http开头并与www或只是像image.png – maks

+0

文件的名称非常感谢,它帮助 – maks

+0

很高兴有帮助! – ennuikiller