Resultados estranhos ao tocar com cordas ou partes dele
Primeiro, teste seus finais de linha:
$ file test.txt
test.txt: ASCII text, with CRLF line terminators
Se você obtiver o acima e, de fato, não quiser DOS
finais de linha, poderá usar o dos2unix
ferramenta:
$ dos2unix test.txt
dos2unix: converting file test.txt to Unix format ...
$ file test.txt
test.txt: ASCII text
Ok, tenho meus dados em um formato consistente
Seu script deve funcionar mais ou menos conforme o planejado (aqui):
[Hostname: ]
g-4.n.g.fr-w1
[Before concat]
g-4.n.g.fr-w1
[After concat]
g-4.n.g.fr-w1.v.1
se isso não funcionar, tente:
printf "%s.v.1" "$worker"
Eu sugeriria modificar seu script para deixar claro que você está usando grep
para pesquisar uma string no arquivo e remover a planície echo $var
s conforme Armadilhas de Bash :
ip="10\.147\.243\.63"
worker=$(grep -e $ip $1 | awk '{ print $3; }')
printf "[Hostname: ]\n"
printf '%s\n' "$worker"
printf "[Before concat]\n"
printf '%s\n' "$worker"
printf "[After concat]\n"
printf '%s.v.1\n' "$worker"