como quebrar uma linha depois de combinar um certo caractere usando o comando shell?

1

Arquivo1:

John Daniel Hommes Cameron;Emily Terry Mussy Barbara
Mimi Papu;David Swiss Jen
Hans Peter Iril;Kelvin
Lilly Gucci Kate Nik;Forum Bill
June;Jill and Jack

Arquivo de saída:

John Daniel Hommes Cameron
Emily Terry Mussy Barbara
Mimi Papu
David Swiss Jen
Hans Peter Iril
Kelvin
Lilly Gucci Kate Nik
Forum Bill
June
Jill and Jack
    
por pmaipmui 10.07.2015 / 13:42

3 respostas

5
tr \; \n <in >out

... é muito provavelmente o meio mais eficiente de ir da sua entrada de amostra para a sua saída de amostra.

    
por 10.07.2015 / 14:04
3

IIUC, você deseja substituir todas as instâncias de ; por uma nova linha. Você pode usar sed :

sed -i 's,;,\n,g' <FILE>

Se o seu sed não suporta -i :

sed  's,;,\n,g' <FILE>  > <OUTPUT_FILE>
    
por 10.07.2015 / 13:47
1

Deve funcionar:

awk 'BEGIN{RS=";"}{print $0}' filename
    
por 10.07.2015 / 13:58