Saltar al contenido

¿Eliminar todos los espacios, tabulaciones, líneas nuevas, etc. de una variable?

Después de de esta extensa selección de información hemos podido solucionar este atasco que suelen tener ciertos los lectores. Te compartimos la respuesta y nuestro objetivo es resultarte de gran ayuda.

Solución:

La razón sed 's/[[:space:]]//g' deja una nueva línea en la salida porque los datos se presentan a sed una línea a la vez. Por lo tanto, la sustitución no puede reemplazar líneas nuevas en los datos (simplemente no son parte de los datos que sed ve).

En su lugar, puede utilizar tr

tr -d '[:space:]'

que eliminará los caracteres de espacio, los avances de formulario, las líneas nuevas, los retornos de carro, las pestañas horizontales y las pestañas verticales.

En ksh, bash o zsh:

set_jobs_count=…
set_jobs_count=$set_jobs_count//[[:space:]]/

En cualquier shell similar a Bourne, puede eliminar los espacios en blanco iniciales y finales y normalizar todos los espacios en blanco intermedios a un solo espacio como este:

set -f
set -- $set_jobs_count
set_jobs_count="$*"
set +f

set -f apaga el englobamiento; si sabe que los datos no contienen ninguno de los caracteres [?*puede omitirlo.

eso supone $IFS contiene su valor predeterminado de espacio, tabulador, nueva línea. Otros caracteres de espacio en blanco (CR, VT, FF…) se dejan solos.

Si haces scroll puedes encontrar las anotaciones de otros programadores, tú asimismo eres capaz insertar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *