Como posso substituir todas as novas linhas por espaço, exceto a última nova linha. Posso substituir toda a nova linha para o espaço usando, tr
mas como posso fazer isso com algumas exceções?
Como posso substituir todas as novas linhas por espaço, exceto a última nova linha. Posso substituir toda a nova linha para o espaço usando, tr
mas como posso fazer isso com algumas exceções?
Respostas:
Re-implementar a idéia de vonbrand em Perl, desde que o arquivo é pequeno o suficiente:
perl -p00e 's/\n(?!\Z)/ /g' your_file
Isso funcionou para mim.
tr '\n' ' ' < file_with_new_line | sed 's/\ $//g' > file_with_space
tr
comando substitui todas as novas linhas por espaços e seu sed
comando remove o último espaço. Isso resulta em um arquivo sem uma nova linha final e, portanto, não é o que a pergunta está pedindo. A propósito, não faz sentido usarg
em no sed
comando. Como você está usando $
, ele pode corresponder apenas no final, o que g
é inútil. Você também não precisa escapar do espaço, o `` também não faz diferença.
-s
e-d
parecem feitas para este caso.