Estou mais confortável com o awk, então gostaria de apresentar duas soluções no awk.
Solução 1
$ echo abc,10.11.13.14,def,1.2.3.4,geh,6.7.54.23 | awk -F, '{for (i=1; i<NF; i+=2) if ($i == "def") print $(i+1)}'
1.2.3.4
Neste caso, estou procurando um nome de máquina "def", se encontrado, imprima a próxima coluna.
Solução 2
$ echo abc,10.11.13.14,def,1.2.3.4,geh,6.7.54.23 | tr , \n | awk '/def/ {getline;print}'
1.2.3.4
Nesta solução, eu uso o comando tr
para converter vírgulas em nova linha, procurar por "def" e imprimir a linha a seguir. Espero que estas soluções funcionem para você.