Se você estiver usando bash
, você pode inserir o caractere de nova linha pressionando a tecla enter como
sed 's!,!\
!g'
O comando Unix sed não reconhece uma barra invertida que escapou n \n
como um caractere de nova linha. Por exemplo, o comando sed "s!,!\n!g"
está substituindo vírgulas no texto de entrada pela letra n e não por um caractere de nova linha.
Como posso fazer o sed interpretar \n
como um caractere de nova linha?
Se você estiver usando bash
, você pode inserir o caractere de nova linha pressionando a tecla enter como
sed 's!,!\
!g'
sed "s/,/\n/g"
funciona aqui, no bash
Você pode precisar escapar com um segundo \
sed 's!,!\n!g'
Você também pode precisar substituir algum espaço em branco, dependendo do que estiver procurando fazer.
nos meus testes, bem sed teve problema em usar "
em vez de '
's
A versão para Mac do sed tem essa dificuldade. Tente instalar a versão GNU do sed com brew install coreutils
e, em seguida,
gsed "s/,/\n/g"
deve funcionar. Como alternativa, tr ',' \n
deve funcionar se a string de pesquisa for apenas um caractere único.