Você pode usar colar :
$ paste -sd';;\n' file
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
Eu tenho um arquivo de texto como este:
X0122
Yellow Car
$1200
YK321
Black Car
$400
BZ321132
Red Boat
$2344
todas as linhas são separadas por \n
Eu quero juntar todos os 3 elementos em uma linha separada por ;
. Então, o arquivo será convertido em:
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
Como faço isso no unix?
Observação: os arquivos podem conter letras acentuadas como á, ó, e aspas simples e são codificados em "Texto em Unicode UTF-8 em inglês, com linhas muito longas", como o comando file
diz sobre eles.
Você pode usar colar :
$ paste -sd';;\n' file
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
com awk
:
awk 'ORS=NR%3?";":RS'
Saída:
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
Explicação: Dependendo do número da linha, o separador de registro de saída é definido como um ponto-e-vírgula ou como uma nova linha.
Tags text-processing