Olá andrelucio, esse sed adiciona todas as linhas com o endereço no espaço reserva
e depois imprime até a ocorrência N que é o número do \n que fica fora do grupo.
sed -nr '/\<192.168.1.4\>/ H; $ {g;s/\n//;s/([^\n]+\n[^\n]+)\n.*/\1/p}' ips.txt
Abraços Paulo
On 22-08-2017 10:04, address@hidden [shell-script] wrote:
> Opa, pessoal.
>
>
> Seguinte, existe alguma forma de parar a consulta de uma determinada string na ocorrência N dessa consulta.
>
> Por exemplo:
>
>
> O arquivo ips.txt tem esse conteúdo:
>
>
> 192.168.1.4 (PC)
> 192.168.0.25 (PC)
> 192.168.1.4 (Smartphone)
> 192.168.0.30 (Smartphone)
> 192.168.1.40 (PC)
> 192.168.1.4 (Server)
> 192.168.1.10 (PC)
> 192.168.1.50 (Smartphone)
> 192.168.1.20 (PC)
> 192.168.0.222 (Server)
>
>
> O comando sed -n '/\<192.168.1.4\>/p' ips.txt retorna essa saída:
>
>
> 192.168.1.4 (PC)
> 192.168.1.4 (Smartphone)
> 192.168.1.4 (Server)
>
>
> Mas preciso que ele exiba somente a segunda ocorrência ou seja, essa saída:
>
>
> 192.168.1.4 (PC)
> 192.168.1.4 (Smartphone)
>
> Alguém poderia saberia como resolver isso com o SED?
>
>
>
> ----------------------------------------------------------
> Enviado por: address@hidden
> ----------------------------------------------------------