sustituir reemplazar quitar para metodo linea insertar especiales espacios eliminar detectar comando caracteres blanco linux bash sed

quitar - sed linux reemplazar



Cómo eliminar todos los espacios en blanco de un archivo de texto dado (11)

Quiero eliminar todos los espacios en blanco de un archivo de texto determinado. ¿Hay algún comando de shell disponible para esto? O bien, cómo usar sed para este propósito.

Quiero algo como a continuación:

$ cat hello.txt | Sed ....

Intenté esto: cat hello.txt | sed ''s/ //g'' cat hello.txt | sed ''s/ //g'' .Pero elimina solo espacios, no pestañas.


Amigo, solo python test.py en tu terminal.

f = open(''/home/hduser/Desktop/data.csv'' , ''r'') x = f.read().split() f.close() y = '' ''.join(x) f = open(''/home/hduser/Desktop/data.csv'',''w'') f.write(y) f.close()


Creo que puedes usar sed para borrar el espacio sin perder información como cambiar a otra línea.

cat hello.txt | sed ''/^$/d;s/[[:blank:]]//g''


Esta es probablemente la forma más simple de hacerlo:

sed -r ''s//s+//g'' filename > output mv ouput filename


Esta respuesta es similar a otra, sin embargo, como algunas personas se han quejado de que la salida va a STDOUT, solo voy a sugerir redirigirlo al archivo original y sobrescribirlo. Normalmente nunca recomendaría esto, pero a veces trabajos rápidos y sucios.

cat file.txt | tr -d " /t/n/r" > file.txt


La forma más fácil para mí ->

echo "Hello my name is Donald" | sed s// //g


Mucho más simple para mi opinión:

sed -r ''s//s+//g'' filename


Prueba esto:

sed -e ''s/[/t ]//g;/^$/d''

(encontrado here )

La primera parte elimina todas las pestañas ( /t ) y espacios, y la segunda parte elimina todas las líneas vacías


Prueba esto:

tr -d " /t" <filename

Consulte la página de manual para tr (1) para más detalles.


Si desea eliminar TODOS los espacios en blanco, incluso las líneas nuevas:

perl -pe ''s//s+//g'' file


hmm ... parece algo del orden de sed -e "s/[ /t/n/r/v]//g" < hello.txt debería estar en el estadio correcto (parece que funciona bajo cygwin en cualquier caso) )


$ man tr NAME tr - translate or delete characters SYNOPSIS tr [OPTION]... SET1 [SET2] DESCRIPTION Translate, squeeze, and/or delete characters from standard input, writing to standard output.

Para borrar todos los espacios en blanco, incluidas las líneas nuevas, puede intentar:

cat file.txt | tr -d " /t/n/r"

También puede usar las clases de caracteres definidas por tr (créditos para el comentario de htompkins ):

cat file.txt | tr -d "[:space:]"

Por ejemplo, para borrar solo el espacio en blanco horizontal:

cat file.txt | tr -d "[:blank:]"