¿Alguien sabe cómo usar Sed para eliminar todos los espacios en blanco en un archivo de texto? No he estado tratando de usar el comando de eliminación "d" para hacerlo, pero parece que no puedo entenderlo
28
"Eliminar todos los espacios en blanco" puede significar una de las siguientes cosas:
0x20.\t"\n" y otrosSi sedno es un requisito por alguna razón oculta, mejor use la herramienta adecuada para el trabajo.
El comando trtiene el uso principal en la traducción (de ahí el nombre "tr") de una lista de caracteres a una lista de otros caracteres. Como caso de esquina, puede traducirse a la lista vacía de caracteres; La opción -d( --delete) eliminará los caracteres que aparecen en la lista.
La lista de caracteres puede utilizar clases de caracteres en la [:...:]sintaxis.
tr -d ' ' < input.txt > no-spaces.txttr -d '[:blank:]' < input.txt > no-spaces.txttr -d '[:space:]' < input.txt > no-spaces.txtsedCon sed, la [:...:]sintaxis para las clases de caracteres debe combinarse con la sintaxis para los conjuntos de caracteres en expresiones regulares [...], lo que resulta en algo confuso [[:...:]]:
sed 's/ //g' input.txt > no-spaces.txtsed 's/[[:blank:]]//g' input.txt > no-spaces.txtsed 's/[[:space:]]//g' input.txt > no-spaces.txt
tr -d ' ' < input.txt > no-spaces.txt.trahora. (¿Lo ves en otro lugar?)Puede usar esto para eliminar todos los espacios en blanco en
file:fuente
man sed | sed "s/ //g"/con un personaje diferente, por ejemplo:sed "ss ssg"