Reemplace todos los espacios en blanco con comas en un archivo de texto


10

Necesito reemplazar todos los espacios en blanco dentro de mi texto con comas. Actualmente estoy usando esta línea pero no funciona: obtengo como salida un archivo de texto que es exactamente el mismo que el original:

sed 's/[:blank:]+/,/g' orig.txt > modified.txt

Gracias


sed 's / [[: blank:]] \ + /, / g'
mug896

@ mug896 funcionó para mí en Ubuntu 18.04 Necesitaba los corchetes dobles y el \ antes del +
dmontaner

Respuestas:


15

Con sed:

sed -e 's/\s\+/,/g' orig.txt > modified.txt

O con perl:

perl -pne 's/\s+/,/g' < orig.txt > modified.txt

Editar: para excluir nuevas líneas en perl, puede usar un doble negativo 's/[^\S\n]+/,/g'o una coincidencia solo con los caracteres de espacio en blanco que elija 's/[ \t\r\f]+/,/g'.


Gracias, sin embargo, todavía hay un problema: no quiero reemplazar las "siguientes líneas \ n" con una coma, y ​​el comando con perl lo está haciendo actualmente. Ella ordenó que escribiste, todavía no funciona.
aneuryzm

Lo siento, debes escapar del +operador en sed, acabo de actualizar mi respuesta. Las nuevas líneas son whitepsace en perl, por lo que tendrá que hacer su clase de whitepsace manualmente si no desea incluirla. Agregué dos soluciones para eso también.
Caleb

13

Utilizando tr:

tr -s '[:blank:]' ',' <file

Esto reemplazará cualquier espacio en blanco horizontal con una coma. Cualquier espacio en blanco repetido solo se reemplazará con una coma.


-1
awk '{print $1","}' Servers | tr -d '[\n]' | xargs echo 

Aquí el nombre del archivo es Servidores. Contiene el siguiente contenido.

Server1
Server2
Server3

Si usamos el comando anterior, podemos obtener la salida a continuación.

Server1,Server2,Server3,


[mohramak@oc3246038448 Desktop]$ cat Servers
Server1
Server2
Server3
[mohramak@oc3246038448 Desktop]$ awk '{print $1","}' Servers | tr -d '[\n]' | xargs echo 
Server1,Server2,Server3,
[mohramak@oc3246038448 Desktop]$ 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.