¿Qué pasa algo como esto:
cat texte.txt | sed -e 's/\s/,/g' > texte-new.txt
(Sí, con algunos catting y tuberías inútiles, también podría usar < para leer directamente del archivo, supongo - usé cat primero para dar salida al contenido del archivo, y sólo después, he añadido a mi SED de línea de comandos)
EDIT: como @ ghostdog74 señaló en un comentario, hay definitivamente sin necesidad de Thet cat/tubo; se puede dar el nombre del archivo a sed:
sed -e 's/\s/,/g' texte.txt > texte-new.txt
Si "texte.txt" es de esta manera:
$ cat texte.txt
this is a text
in which I want to replace
spaces by commas
que obtendrá un "texte-nuevo.txt" que va a tener este aspecto:
$ cat texte-new.txt
this,is,a,text
in,which,I,want,to,replace
spaces,by,commas
yo no iría simplemente reemplazar el archivo antiguo por uno nuevo (podría hacerse con -i sed, si no recuerdo mal, y como @ ghostdog74 dicho esto, uno podría aceptar creando la copia de seguridad sobre la marcha): mantenimiento podría ser conveniente, como medida de seguridad (incluso si eso significa tener que cambiar el nombre a algo así como "texte-backup.txt")
Asumo la final 1 después de la llave de cierre es un patrón siempre cierto que imprime la línea? Me gustaría ir con el '{$ 1 = $ 1; imprimir} '. – tzot
sí. es una expresión awk para la condición verdadera que imprime por defecto a stdout. – ghostdog74