O utilitário padrão tr
faz exatamente isso:
tr ' ' '-' <filename.old >filename.new
Dado um arquivo com várias linhas, quero alterar todos os espaços para traçar.
Eu gostei disso:
#!/bin/bash
while read line; do
echo "${line// /-}"
done
Isso funciona muito bem, mas eu preciso de um método melhor!
sed --in-place 's/ /-/g' /path/to/file
com perl:
perl -ne 's/ /-/g;print ' FILE
Use -i
para gravar as alterações no arquivo ou -e
para que ele grave as alterações no stdout sem modificar o arquivo.
sed -i 's/ /-/g' filename
sed -e 's/ /-/g' filename
Eu gosto de usar substituir.
replace " " "-" </path/to/file
Tags text-processing