다양한 웹사이트에 대한 여러 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를 사용하여 전체 URL과 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