2016-09-19 29 views

回答

0

如果您的输入是JSON,您可能需要考虑使用特定于JSON的工具。

让我们考虑您的测试文件:

$ cat file 
..."num_comments": 16, "url": "https://websitef.com/vkl6owav", "_has_fetched": true.....  

到grep所需的字符串:

$ grep -Po '(?<=https://websitef.com/)\w+' file 
vkl6owav 

\w+的字字符的字符串匹配。 (?<=https://websitef.com/)是一个后视,将匹配限制为字符串https://websitef.com/后面的字符。这需要GNU grep。

如果GNU的grep不可用,sed可用于:

$ sed -En 's|.*https://websitef.com/([[:alnum:]]+).*|\1|p' file 
vkl6owav 

如果你想整个URL,而不只是随机字符串:

$ grep -o 'https://websitef.com/[[:alnum:]]*' file 
https://websitef.com/vkl6owav 
+0

是的,它是JSON文件。我可能没有以最好的方式提出这个问题,我想从多个文件中提取多个这些链接。只有常量的地方是https://websitef.com/和8个变化后的charachters。 – Janice9000

+0

@ Janice9000在这种情况下,最后的解决方案应该为你工作。 – John1024