使用grep / sed处理网址文字

时间:2018-03-25 03:42:29

标签: bash awk sed

我已经搞砸了grep(有点新手),但我的grep技能并没有达到标准。

到目前为止,我得到了

grep -Eo "//[a-zA-Z0-9./?=_-]*" file

之后我没有给出输出(然后再次修剪输出),这有点难看:(有没有一种干净的方法来抓住顶级域名?

输入:

"asynch",websiteHost:"//cdn.www2.qqw-ab-mon.com",Myhost:"//
"asynch",websiteHost:"//cdn.www.qqw-cd-mon.com",Myhost:"//
"asynch",websiteHost:"//qqw-ef-mon.com",Myhost:"//
"asynch",websiteHost:"//cdn.ww.qqw-eh-mon.com",Myhost:"//
"asynch",websiteHost:"//cdn.qqw-ej-mon.com",Myhost:"//

期望的输出:

qqw-ab-mon.com
qqw-cd-mon.com
qqw-ef-mon.com
qqw-eh-mon.com
qqw-ej-mon.com

1 个答案:

答案 0 :(得分:1)

考虑到您的所有值都将从qqw开始,然后以下内容可能对您有所帮助,如果不是,请在您的问题中使用适当的示例更清楚,然后编辑代码。< / p>

awk 'match($0,/qqw.*com/){print substr($0,RSTART,RLENGTH)}'  Input_file