Tous les utilisateurs de Linux connaissent la frustration que les lignes vides peuvent poser dans un fichier traitable. En plus d’entraver le traitement de ces fichiers, ces lignes vides/inoccupées rendent difficile l’exécution d’un logiciel pour lire et écrire le fichier. Cet article présentera quelques méthodes rapides pour supprimer les lignes vides/inoccupées dans Bash sous Linux.
Pour simplifier le sujet, nous allons parler de 6 approches possibles et examiner quelques cas pertinents avec les justifications qui vont avec. Nous utiliserons quelques commandes et exemples pour supprimer la ligne vide du fichier et afficher le fichier.
6 méthodes pour supprimer les lignes vides dans Bash sous Linux
Les 6 techniques énumérées dans la partie suivante seront utilisées pour supprimer les lignes vides dans Bash sous Linux. Avant d'entrer dans les détails, voyons quelles sont leurs fonctions :
- Commande sed : Éditeur de flux pour filtrer et gérer du texte.
- Commande grep : Afficher les lignes qui correspondent aux motifs.
- Commande awk : L’utilitaire awk exécute des programmes écrits dans le langage de programmation awk, conçus pour gérer des données textuelles.
- Commande cat : Assemble les fichiers et les imprime à partir de la sortie standard.
- Commande tr : Traduire ou supprimer des caractères.
- Commande perl : Un langage de programmation qui a été créé spécifiquement pour l’édition de texte.
Méthode 1 : Exécutez la commande sed pour supprimer les lignes vides dans Bash
Dans notre première solution, nous utiliserons la commande sed pour supprimer les lignes vides du fichier dans Bash. La commande sed est utilisée pour effectuer de simples modifications de texte.
- L’éditeur de flux sed peut supprimer les lignes vides des fichiers, comme indiqué ci-dessous.
sed '/^[[:space:]]*$/d' 1_Test.txt
- Lorsque vous exécutez un script dans Bash comme mentionné précédemment, vous devriez voir une sortie similaire à celle ci-dessous :
Ceci est la première ligne.
Ceci est la deuxième ligne.
Ceci est la troisième ligne.
Ceci est la quatrième ligne.
Avec :
'/[[:space:]]*$/d' :
Une partie du code est utilisée pour rechercher et supprimer la ligne vide du fichier.// :
La ligne de recherche y est stockée.^ :
Début de la ligne.$ :
Fin de la ligne.d :
Supprime la ligne correspondante.txt :
Nom du fichier source.
Méthode 2 : Supprimez les lignes vides dans Bash en utilisant la commande grep
Grep signifie Global Regular Expression Print. Nous pouvons facilement supprimer les lignes Bash avec la commande grep, un autre outil intégré dans Bash. Le texte et les lignes d’un fichier fourni sont recherchés et le programme affiche chaque ligne qui répond à un modèle.
- Vous pouvez utiliser cette technique pour supprimer la ligne vide du fichier en suivant l’exemple ci-dessous.
grep -v '^[[:space:]]*$' 1_Test.txt
- La sortie de l’exécution du script Bash mentionné ci-dessus ressemblera un peu à ceci :
Ceci est la première ligne.
Ceci est la deuxième ligne.
Ceci est la troisième ligne.
Ceci est la quatrième ligne.
Voici les détails :
'[[:space:]]*$' :
Une partie du code est utilisée pour rechercher et supprimer la ligne vide du fichier.. :
Remplace n’importe quel caractère^ :
Début de la ligne$ :
Fin de la ligne.E :
Pour faire correspondre des modèles dans des expressions régulières étendues.e :
Pour faire correspondre des modèles dans des expressions régulières.v :
Pour sélectionner les lignes qui ne correspondent pas au fichier.txt :
Nom du fichier source
Méthode 3 : Utilisez la commande awk pour supprimer les lignes vides dans Bash
Dans cette méthode, nous allons tirer parti de awk, un mot-clé intégré dans le script Bash. Le langage de script à usage général awk a été créé pour le traitement complexe des données textuelles. La gestion de texte, les rapports et l’analyse sont ses principales utilisations.
- L’exemple ci-dessous illustre la suppression de la ligne vide du fichier en utilisant ce mot-clé.
awk '!/^[[:space:]]*$/' 1_Test.txt
- Voici la sortie :
Ceci est la première ligne.
Ceci est la deuxième ligne.
Ceci est la troisième ligne.
Ceci est la quatrième ligne.
Avec :
/[[:space:]]*$/ :
Les lignes vides d’un fichier sont reconnues et supprimées à l’aide de la syntaxe.// :
La ligne de recherche y est stockée.^ :
Début de la ligne.$ :
Fin de la ligne.. :
Remplace n’importe quel caractère.! :
Supprime la ligne qui correspond.txt :
Nom du fichier source.
Méthode 4 : Exécutez la commande cat pour supprimer les lignes vides dans Bash
Cat est l’abréviation de concatenate. Elle est couramment utilisée sous Linux pour lire les données d’un fichier. Sur les systèmes d’exploitation de type Unix, la commande cat est l’une des commandes les plus couramment utilisées. Elle fournit trois fonctions liées aux fichiers texte : afficher le contenu du fichier, combiner plusieurs fichiers en une seule sortie et créer un nouveau fichier.
- Nous pouvons facilement supprimer les lignes vides d’un fichier en combinant les commandes « cat » et « tr » comme indiqué ci-dessous :
Cat 1_Test.txt | tr -s '\n' > new_file.txt
- Sortie :
Ceci est la première ligne.
Ceci est la deuxième ligne.
Ceci est la troisième ligne.
Ceci est la quatrième ligne.
Avec :
| :
Symbole du tuyau. Il utilise la sortie de la première commande comme entrée pour une autre.s :
Remplace chaque séquence d’un caractère répété dans le dernier groupe spécifié.\n :
Pour insérer une nouvelle ligne.txt :
Nom du fichier source.
Méthode 5 : Supprimez les lignes vides dans Bash en utilisant la commande tr
Dans les systèmes Linux et Unix, tr est un utilitaire de ligne de commande qui traduit, supprime et presse les caractères de l’entrée standard et écrit les résultats dans une sortie standard. La commande tr peut supprimer des caractères répétés, convertir des majuscules en minuscules et effectuer le remplacement et la suppression de caractères de base. Elle est généralement utilisée en conjonction avec d’autres commandes via les symboles de tuyau.
- Pressez les lettres répétitives de nouvelle ligne pour supprimer les lignes vides :
tr -s '\n' < file.txt > new_file.txt
Dans la commande ci-dessus, on a :
< :
Ce symbole de redirection est utilisé pour transmettre le contenu du fichier.txt à la commande tr.> :
Symbole de redirection qui écrit la sortie de la commande dans new_file.txt.
Méthode 6 : Utilisez la commande perl pour supprimer les lignes vides dans Bash
Perl est l'abréviation de Practical Extraction and Reporting Language (langage pratique d’extraction et de rapport). Perl est un langage de programmation qui a été créé spécifiquement pour l’édition de texte. Il est maintenant largement utilisé pour diverses tâches telles que l’administration du système Linux, la programmation réseau, le développement Web, etc.
- L’exemple suivant montre comment utiliser ce mot-clé pour supprimer une ligne vide d’un fichier.
perl -ne 'print if /\S/' 1_Test.txt > new_file.txt
- Voici le résultat :
Ceci est la première ligne.
Ceci est la deuxième ligne.
Ceci est la troisième ligne.
Ceci est la quatrième ligne.
Avec :
. :
Peut être utilisé pour remplacer n’importe quel caractère.^ :
Début de la ligne.$ :
Fin de la ligne.E :
Pour la correspondance de modèle avec des expressions régulières étendues.e :
Correspondance de modèle pour les expressions régulières.v :
Extraction de lignes d’un fichier non correspondantes.txt :
Nom du fichier source.
Comment récupérer des fichiers supprimés accidentellement sous Linux
Maintenant que vous avez appris les six méthodes différentes pour supprimer les lignes vides dans Bash sur Linux, il est important de noter que des accidents peuvent se produire, et parfois des fichiers importants peuvent être accidentellement supprimés. Heureusement, il existe des moyens de récupérer des fichiers supprimés sous Linux.
L'utilisation de Wondershare Recoverit Linux File Recovery est une solution fortement recommandée. Ce puissant logiciel de récupération de données a été spécifiquement conçu pour les systèmes Linux et peut rapidement et facilement récupérer des fichiers supprimés, même s’ils ont été définitivement supprimés de la corbeille.
Wondershare Recoverit - Votre logiciel de récupération Linux sûr et fiable
5 481 435 personnes l’ont téléchargé.
Vous permet de récupérer des documents, photos, vidéos, musiques, e-mails et plus de 1000 autres types de fichiers perdus ou supprimés définitivement, en toute sécurité et entièrement.
Compatible avec toutes les distributions Linux grand public, comme Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.
Prend en charge plus de 500 scénarios de perte de données, tels que la suppression, le formatage de disque, le plantage du système d’exploitation, la panne de courant, les attaques de virus, la perte de partition et bien d’autres.
L’interface simple pointer/cliquer vous permet de récupérer des données à partir de disques durs Linux en quelques clics.
Fonctionne via une connexion à distance. Vous pouvez récupérer des données perdues même lorsque votre appareil Linux est en panne.
La récupération de données Linux est vraiment facile et sans stress avec Wondershare Recoverit. Vos données peuvent être récupérées en 3 étapes simples.
Étape 1Choisissez Linux Recovery
Téléchargez et installez Wondershare Recoverit sur votre ordinateur. Ouvrez le logiciel, puis sélectionnez NAS and Linux. Cliquez sur l’option Linux Recovery pour continuer.
Étape 2Connectez à distance l’ordinateur Linux
Comme on le voit ci-dessous, une nouvelle fenêtre s’ouvrira sur votre écran. Entrez les données requises pour établir une connexion à distance. Une fois cela fait, cliquez sur le bouton Connect.
Recoverit effectuera une analyse automatique pour rechercher vos fichiers manquants d'ordinateur Linux après la réussite de l'établissement de la connexion.
Étape 3Prévisualisation et récupération
Ce qui est remarquable avec Recoverit est que vous pouvez arrêter l’analyse à tout moment lorsque vous trouvez le fichier que vous souhaitez restaurer. Vous pouvez prévisualiser les fichiers pour vous assurer qu’ils sont ceux que vous souhaitez récupérer. Pour sauvegarder les fichiers souhaités, sélectionnez-les et cliquez sur le bouton Recover.
Le logiciel vous invitera à sélectionner l’emplacement dans lequel vous souhaitez conserver les fichiers récupérés. Pour obtenir les données restaurées, cliquez sur Recover.
Pour Windows Vista/7/8/10/11
Pour macOS X 10.10 - macOS 13
Pour faire court
Nous avons discuté des six méthodes pour supprimer les lignes vides dans Bash sur Linux. Et, en cas de perte accidentelle de données, Wondershare Recoverit Linux Recovery est un logiciel recommandé pour les récupérer facilement et en toute sécurité !