Você deve remover a opção -t
de ssh
para evitar gerar o retorno de carro em primeiro lugar.
A opção -t
direciona o ssh para alocar um pseudo-terminal na máquina remota , e se esse terminal tiver o sinalizador onlcr
definido (que é o padrão), todo LF ( \n
) será traduzido para CR / LF ( \r\n
) na saída. A opção -t
não é necessária, a menos que um programa interativo e / ou de tela inteira seja executado, como vi
ou screen
.
Mas se você realmente tiver que processar as linhas terminadas por CR / LF em awk
, definir o separador de registro como CR / LF no início do script fará isso bem. Exemplo:
awk ... 'BEGIN{RS="\r\n"}{...}'
Além disso, se você quiser remover um CR perdido de um campo em awk
, use sub
ou gsub
:
gsub("\r","",$6)