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:]"