Como você está usando ~:
como separador de campo, você pode verificar se o segundo campo é igual a to
e imprimir o terceiro campo que é o país:
awk -F"~:" '$2 == "to" { print $3; }' file
Resultado:
Germany
Brazil
Eu quero imprimir os países que têm to
após ~:
.
welcome~:to~:Germany
welcome~:no please~:Italy
welcome~:to~:Brazil
welcome~:not ok~:China
Observação: não sei o que estará lá, além de " to
". Pode ser qualquer coisa e pode ser alterado (como no please
, not ok
).
Eu estou tentando usar o cut, awk, sed. Mas eu sou incapaz de descobrir.
awk -F "~:" '{print $2 $NF}'
Mas eu recebo a saída como:
toGermany
no pleaseItaly
toBrazil
not okChina
Como filtrar países que não sejam to
.
ATUALIZAÇÃO:
Solução alternativa: (Figurado com corte): -)
grep -v "to" |cut -d ':' -f3
Não se esqueça de sed
solution:
sed -n '/~:to~:/s/.*://p'
ou mais qiuck (pode ser)
sed '/~:/{s/to~:/\n/;D}'
Tags text-processing awk