Lendo o arquivo usando o shell script, o formato da linha foi alterado

0

Estou lendo um arquivo usando o seguinte código:

displayLine(){
    echo $line
}

filename="SampleFile"
while read line
do
    displayLine $line
done < "$filename"

O formato do arquivo que estou obtendo depois de usar o script é este:

ID EVENT OK NOK
101 ABC1123 ok nok
101 ABC1223 ok      
101 ABC1323 ok nok
101 ABC1423 ok nok

Mas o formato atual do arquivo é assim:

ID  EVENT       OK      NOK
101 ABC1123     ok      nok
101 ABC1223     ok      
101 ABC1323     ok      nok
101 ABC1423     ok      nok

Meu script de alguma forma está aparando os espaços extras entre as palavras. No entanto, quero o formato atual do arquivo.

Alguém poderia me dizer como conseguir isso?

Obrigado !!

    
por John Rambo 11.02.2016 / 19:34

1 resposta

1

Cite suas variáveis e use IFS= com read, como este:

displayLine(){ printf '%s\n' "$line"; }

filename="infile"

while IFS= read -r line
do
    displayLine "$line"
done < "$filename"
    
por 12.02.2016 / 08:26