Travailler sous une distribution de système d'exploitation Linux vous donne une perspective très unique sur la façon dont le monde informatique peut être modifiable. Par exemple, se débarrasser des espaces blancs sur les fichiers texte peut sembler une tâche fastidieuse, sauf si vous utilisez Linux comme système d'exploitation principal.
Les espaces blancs ne sont pas seulement horizontaux comme l'espacement des mots dans cet article ou d'autres caractères imprimables. Les espaces blancs existent également en tant qu'espacement vertical des lignes et/ou des paragraphes. Alors pourquoi supprimer les espaces blancs ? La principale raison est de nettoyer les perspectives de votre fichier texte ciblé.
Fichier texte de référence
Considérez l'exemple de fichier texte suivant.
$ sudo nano sample_file.txt
Selon la capture d'écran ci-dessus, nous pouvons évidemment noter que le fichier texte présente des symptômes d'espaces blancs verticaux et horizontaux. Nous pouvons utiliser la commande cat plus le -n
option pour ouvrir ce fichier dans une vue numérotée.
$ cat -n sample_file.txt
Les caractères d'espace blanc évidents affichés sur un fichier texte incluent les espaces, les tabulations et les sauts de ligne. Pour supprimer tous ces espaces blancs, nous envisagerons l'aide et l'utilisation de trois commandes Linux intégrées.
Méthode 1 :Utilisation de la commande tr
La commande tr prendra le fichier texte ci-dessus comme entrée, traduira le contenu du fichier texte, supprimera les caractères d'espace blanc et réécrira ensuite dans le fichier une sortie de caractère non-espace blanc.
Cependant, nous devons fournir la commande tr avec des exigences d'exécution spécifiques, c'est-à-dire s'il faut supprimer les espaces blancs horizontaux, les espaces blancs verticaux ou les deux.
Supprimer les espaces blancs horizontaux dans le fichier
Nous utiliserons le "[:blank:]"
l'option de caractère dans le cadre d'une commande, puis exécutez la commande cat pour imprimer la mise en page finale du fichier.
$ tr -d "[:blank:]" < sample_file.txt | cat -n
Selon la sortie ci-dessus, nous avons réussi à éliminer les caractères d'espace blancs horizontaux du fichier texte sous Linux.
Supprimer tous les caractères d'espace blanc dans le fichier
Le "[:space:]"
est utilisée pour supprimer les espaces blancs horizontaux et verticaux d'un fichier texte.
$ tr -d "[:space:]" < raw_file.txt | cat -n
Méthode 2 :Utilisation de la commande sed
Étant donné que la commande sed est couramment implémentée avec des expressions régulières, nous pouvons l'utiliser de la manière suivante :
$ sed 's/[[:blank:]]//g' sample_file.txt | cat -n [Remove Horizontal Spaces] $ sed ':a; N; s/[[:space:]]//g; ta' sample_file.txt | cat -n [Remove All Spaces]
Méthode 2 :Utilisation de la commande awk
Ce puissant utilitaire de traitement de texte utilise son script de type C et d'autres fonctions et variables intégrées pour manipuler de manière flexible le traitement de texte.
Nous utiliserons sa fonction gsub de la manière suivante pour supprimer les espaces blancs horizontaux.
$ awk '{gsub(/[[:blank:]]/,""); print}' sample_file.txt | cat -n
Pour supprimer tous les espaces blancs d'un fichier texte, nous apporterons la modification suivante à la commande ci-dessus :
$ awk -v ORS="" '{gsub(/[[:space:]]/,""); print}' sample_file.txt | cat -n
Avec les trois approches de commande Linux décrites ci-dessus, se débarrasser des caractères d'espace blanc indésirables sur vos fichiers texte sous Linux ne devrait pas être un problème.