Nem o awk nem o sed, mas que tal tr
:
printf 'This;\nIs;\nFirst;\nLine;\n' |
tr -s ';[:space:]' '[ *]'
Saída: This is First Line
Recentemente, procuro por scripts para isso:
This;
Is;
First;
Line;
e faça como:
This Is First Line
Nem o awk nem o sed, mas que tal tr
:
printf 'This;\nIs;\nFirst;\nLine;\n' |
tr -s ';[:space:]' '[ *]'
Saída: This is First Line
Seu exemplo mostra espaços entre campos, mas você menciona "CSV", o que significa Valores separados por vírgula ... Eu usei espaços. Apenas altere / /
para /,/
se você quiser vírgulas.
O arquivo de entrada contém:
This;
Is;
First;
Line;
This;
Is;
Second;
Line;
O script:
sed -nr 'N; N; N; s/;\n/ /g; s/;$//p' file
Saída:
This Is First Line
This Is Second Line