Se você gostaria de adicionar texto no final de cada linha no local (no mesmo arquivo), você pode usar o -i
parâmetro, por exemplo:
sed -i'.bak' 's/$/:80/' foo.txt
No entanto, a -i
opção é uma extensão Unix não padrão e pode não estar disponível em todos os sistemas operacionais.
Portanto, você pode considerar o uso de ex
(que é equivalente a vi -e
/ vim -e
):
ex +"%s/$/:80/g" -cwq foo.txt
que será adicionado :80
a cada linha, mas às vezes pode acrescentá-lo a linhas em branco.
Portanto, o melhor método é verificar se a linha realmente contém qualquer número e, em seguida, anexá-lo, por exemplo:
ex +"g/[0-9]/s/$/:80/g" -cwq foo.txt
Se o arquivo tiver um formato mais complexo, considere o uso de regex adequado, em vez de [0-9]
.