我有一个包含不同网站的多个 IP 地址的文件,但我只想打印与特定 IP 关联的网站并显示该网站。例如,
128.125.21.1,/www.extra.com/home.html,2323,oiehfoioi,wopwpwp
124.15.21.1,/www.yahoo.com/9998,wjeoiwjo,bbdjksbk
我所需要的只是与 128.125.21.1 关联的网站,并且我已经使用 awk 打印整个网址和 IP 得到结果,但我想删除 IP 如何结合 awk 和 sed 来完成此操作?
答案1
看起来您想要的可以表述为“从第一个逗号分隔字段为128.125.21.1
”的任何行中打印第二个逗号分隔字段。如果是这样,您可以使用:
awk -F, '$1=="128.125.21.1"{print $2}' file
在你的例子中,打印:
$ awk -F, '$1=="128.125.21.1"{print $2}' file
/www.extra.com/home.htm
当然,这不是实际的 URL。要同时删除前导/
,您可以使用:
$ awk -F, '$1=="128.125.21.1"{print $2}' file | sed 's#^/##'
www.extra.com/home.html