bash, osx mavericks
Desejo substituir o caractere LF (hex= 0A
) por NUL (hex= 00
) em um arquivo txt. posso usar grep
ou tr
ou algo para fazer isso? Tenho usado o bbedit para substituí-los, mas gostaria de algo que pudesse fazer rapidamente no bash.
Sim, é um trabalho para
tr
:Ou no local:
Aqui, o arquivo é escrito sobre si mesmo. Isso funciona porque estamos sempre escrevendo tantos dados quanto lemos (e não sobrescrevendo dados que ainda não lemos). Se o
tr
processo for interrompido, ele pode ser iniciado novamente para concluir o trabalho.Ao contrário de
perl -pi 's/\n/\0/'
, que preserva todos os atributos do arquivo e não quebra hardlinks ou links simbólicos e não precisa duplicar os dados no disco (a menos que haja alguma cópia na gravação acontecendo abaixo).