Recortar espacios en blanco en Bash
-
Usando el comando
xargs
para recortar espacios en blanco en Bash -
Usando el comando
sed
para recortar espacios en blanco en Bash -
Usando el comando
awk
para recortar espacios en blanco en Bash
Este tutorial muestra cómo recortar espacios en blanco en bash usando el comando xargs
, el comando sed
y el comando awk
.
Usando el comando xargs
para recortar espacios en blanco en Bash
xargs
significa argumentos extendidos
. xargs
lee la entrada de la entrada estándar y convierte la entrada en argumentos de un comando. El comando xargs
también se puede usar para eliminar espacios en blanco externos de una cadena en bash.
El siguiente ejemplo ilustra el uso de xargs
para recortar los espacios en blanco de una cadena en bash.
El comando xargs
elimina los espacios al principio y al final de la cadena. No elimina los espacios en blanco internos en la cadena. De la imagen de arriba, el espacio en blanco interno entre ,
y world
no se ha eliminado, mientras que los espacios al principio y al final de la cadena se han eliminado.
Usando el comando sed
para recortar espacios en blanco en Bash
El comando sed
también se puede usar para recortar espacios en blanco al principio y al final de una cadena en bash. La siguiente secuencia de comandos utiliza el comando sed
para recortar los espacios en blanco anteriores y posteriores de una cadena en bash.
text=" Bash is Fun "
#print the original text
echo "$text"
#remove whitespaces
var=`echo $text | sed 's/ *$//g'`
echo "Hi there $var!"
Al ejecutar el script, se muestra el siguiente resultado.
Bash is Fun
Hi there Bash is Fun!
Usando el comando awk
para recortar espacios en blanco en Bash
El comando awk
también se usa para recortar el espacio en blanco de un archivo o cadena en bash. Usando awk
, podemos recortar los espacios en blanco al principio de una cadena, y podemos recortar los espacios en blanco al final de la cadena, o ambos.
Escribamos un script bash que use awk
para recortar los espacios en blanco al comienzo de una cadena. Este (/^[ \t]+/,"")
, le dice al comando awk
que reemplace el espacio en blanco al principio del texto con nada,""
.
text=" Bash is Fun "
#print the original text
echo "$text"
#print the new text after trimming the whitespace at the beginning
echo "$text" | awk '{gsub(/^[ \t]+/,""); print$0, "!"}'
Ejecutemos el script.
bash trim_start.sh
El script produce el siguiente resultado.
Bash is Fun
Bash is Fun !
A partir de la salida, podemos ver que se ha eliminado el espacio en blanco al principio de la cadena.
Escribamos un script bash que elimine los espacios en blanco al final de la cadena.
text=" Bash is Fun "
#print the original text
echo "$text"
#print the new text after trimming the whitespace at the end
echo "$text" | awk '{gsub(/[ \t]+$/,""); print$0, "!"}'
Ejecutemos el script.
bash trim_end.sh
La ejecución del script produce el siguiente resultado.
Bash is Fun
Bash is Fun !
Ahora, escribamos un script bash que recorte los espacios en blanco tanto al principio como al final de un script bash.
text=" Bash is Fun "
#print the original text
echo "$text"
#print the new text after trimming the whitespace at the start and end
echo "$text" | awk '{gsub(/^[ \t]+| [ \t]+$/,""); print$0, "!"}'
Ejecutemos el script.
bash trim.sh
El script muestra el siguiente resultado en el resultado estándar. Los espacios en blanco iniciales y finales se han eliminado de la cadena.
Bash is Fun
Bash is Fun !