Regex: usando o awk e o sed para combinar sites por IP

1

Eu tenho um arquivo com vários endereços IP para sites diferentes, mas só quero imprimir os sites associados a um IP específico e exibir o site. Por exemplo,

128.125.21.1,/www.extra.com/home.html,2323,oiehfoioi,wopwpwp
124.15.21.1,/www.yahoo.com/9998,wjeoiwjo,bbdjksbk

Tudo o que preciso é dos sites associados a 128.125.21.1 e obtive resultados usando o awk para imprimir o endereço da Web inteiro e o IP, mas gostaria de remover o IP Como posso combinar o awk e o sed para conseguir isso?

    
por C. Medina 04.03.2017 / 18:09

1 resposta

4

Parece que o que você deseja pode ser declarado como "imprima o segundo campo separado por vírgula de qualquer linha cujo primeiro campo separado por vírgulas seja 128.125.21.1 ". Em caso afirmativo, você pode usar:

awk -F, '$1=="128.125.21.1"{print $2}' file

No seu exemplo, isso imprime:

$ awk -F, '$1=="128.125.21.1"{print $2}' file
/www.extra.com/home.htm

Claro, isso não é um URL real. Para remover também o líder / , você pode usar:

$ awk -F, '$1=="128.125.21.1"{print $2}' file | sed 's#^/##'
www.extra.com/home.html
    
por 04.03.2017 / 18:25