정규식: awk 및 sed를 사용하여 IP로 웹사이트 일치

정규식: awk 및 sed를 사용하여 IP로 웹사이트 일치

다양한 웹사이트에 대한 여러 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

관련 정보