Couper les espaces blancs dans Bash

Fumbani Banda 24 mars 2022
  1. Utilisation de la commande xargs pour couper les espaces blancs dans Bash
  2. Utilisation de la commande sed pour couper les espaces blancs dans Bash
  3. Utilisation de la commande awk pour couper les espaces blancs dans Bash
Couper les espaces blancs dans Bash

Ce didacticiel montre la suppression des espaces blancs dans bash à l’aide de la commande xargs, de la commande sed et de la commande awk.

Utilisation de la commande xargs pour couper les espaces blancs dans Bash

xargs signifie eXtended ARGuments. xargs lit l’entrée à partir de l’entrée standard et transforme l’entrée en arguments d’une commande. La commande xargs peut également être utilisée pour supprimer les espaces blancs externes d’une chaîne dans bash.

L’exemple ci-dessous illustre l’utilisation de xargs pour supprimer les espaces d’une chaîne dans bash.

xarg

La commande xargs supprime les espaces au début et à la fin de la chaîne. Il ne supprime pas les espaces blancs internes dans la chaîne. Dans l’image ci-dessus, l’espace blanc interne entre , et world n’a pas été supprimé tandis que les espaces au début et à la fin de la chaîne ont été supprimés.

Utilisation de la commande sed pour couper les espaces blancs dans Bash

La commande sed peut également être utilisée pour supprimer les espaces au début et à la fin d’une chaîne dans bash. Le script ci-dessous utilise la commande sed pour supprimer les espaces de fin et de début d’une chaîne dans bash.

text="   Bash is Fun   "
#print the original text
echo "$text"

#remove whitespaces
var=`echo $text | sed 's/ *$//g'`

echo "Hi there $var!"

L’exécution du script affiche la sortie suivante.

   Bash is Fun
Hi there Bash is Fun!  

Utilisation de la commande awk pour couper les espaces blancs dans Bash

La commande awk est également utilisée pour réduire les espaces d’un fichier ou d’une chaîne dans bash. En utilisant awk, nous pouvons couper les espaces blancs au début d’une chaîne, et nous pouvons couper les espaces blancs à la fin de la chaîne, ou les deux.

Écrivons un script bash qui utilise awk pour supprimer les espaces au début d’une chaîne. Ce (/^[ \t]+/,""), indique à la commande awk de remplacer l’espace au début du texte par rien,"".

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, "!"}'

Exécutons le script.

bash trim_start.sh

Le script produit la sortie suivante.

   Bash is Fun
Bash is Fun    !

À partir de la sortie, nous pouvons voir que l’espace au début de la chaîne a été supprimé.

Écrivons un script bash qui supprime les espaces à la fin de la chaîne.

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, "!"}'

Exécutons le script.

bash trim_end.sh

L’exécution du script produit la sortie suivante.

   Bash is Fun
   Bash is Fun !

Maintenant, écrivons un script bash qui supprime les espaces blancs au début et à la fin d’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, "!"}'

Exécutons le script.

bash trim.sh

Le script affiche la sortie suivante sur la sortie standard. Les espaces de début et de fin ont été supprimés de la chaîne.

   Bash is Fun
Bash is Fun !
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Article connexe - Bash String