grep

Comment ignorer les lignes vides dans Grep?

Comment ignorer les lignes vides dans Grep?
Grep signifie Impression d'expressions régulières globales. Il a de nombreuses fonctionnalités, je.e., rechercher dans un fichier, rechercher uniquement les noms d'un fichier, grep récursivement, etc. Grep est considéré comme une commande puissante dans le secteur de la recherche. Dans de nombreux cas, nous sommes confrontés à des situations où nous n'avons pas besoin d'espaces ou où il est nécessaire de supprimer les lacunes indésirables dans nos données. L'une des manières les plus intéressantes d'utiliser grep est d'ignorer ou de supprimer les lignes vides du fichier texte. Cette procédure est accomplie à travers différents exemples. C'est une opération d'édition de fichier. Pour subir cet objectif, nous avons besoin d'avoir des fichiers existants dans notre système. Grâce à la commande grep, nous lui permettons d'imprimer des données sans lignes vides.

Syntaxe

Grep [motif] [nom de fichier]

Après avoir utilisé grep, il y a un modèle. Le modèle implique la façon dont nous voulons l'utiliser pour supprimer l'espace supplémentaire dans les données. Après le modèle, le nom du fichier est décrit à travers lequel le modèle est exécuté.

Prérequis

Pour comprendre facilement l'utilité de grep, nous devons avoir Ubuntu installé sur notre système. Fournissez les détails de l'utilisateur en fournissant un nom d'utilisateur et un mot de passe pour avoir des privilèges d'accès aux applications de Linux. Après vous être connecté, ouvrez l'application et recherchez un terminal ou appliquez la touche de raccourci ctrl+alt+T.

En utilisant le mot-clé [ : vide :]

Supposons que nous ayons un fichier nommé bfile ayant une extension de texte. Vous pouvez créer un fichier soit sur un éditeur de texte, soit avec une ligne de commande dans le terminal. Pour créer un fichier sur le terminal, comprenant les commandes suivantes.

$ Echo « texte à saisir dans un fichier » > nom du fichier.SMS

Il n'est pas nécessaire de créer un fichier s'il est déjà présent. Affichez-le simplement à l'aide de la commande jointe :

$ echo nom de fichier.SMS

Le texte écrit dans ces fichiers contient des espaces entre eux, comme le montre la figure ci-dessous.

Ces lignes vides peuvent être supprimées à l'aide d'une commande vide pour ignorer les espaces vides entre les mots ou les chaînes.

$ egrep '^[[:blank]]*[^[:blank:]#]' fichier b.SMS

Après avoir appliqué la requête, les espaces vides entre les lignes seront supprimés et la sortie ne contiendra plus d'espace supplémentaire. Le premier mot est mis en surbrillance car les espaces entre le dernier mot de la ligne et entre les premiers mots de la ligne suivante sont supprimés. Nous pouvons également appliquer des conditions sur la même commande grep en ajoutant cette fonction vide pour supprimer l'espace inutile dans la sortie.

En utilisant [: espace:]

Un autre exemple d'ignorance de l'espace est expliqué ici.

Sans mentionner l'extension de fichier, nous allons d'abord afficher le fichier existant à l'aide de la commande.

fichier de chat $20

Regardons comment l'espace supplémentaire est supprimé à l'aide de la commande grep en plus du mot-clé [: space:]. L'option -v de Grep aidera à imprimer les lignes qui manquent de lignes vides et d'espacement supplémentaire qui est également inclus dans un formulaire de paragraphe.

$ grep -v '^[[;espace:]]*$' fichier20

Vous verrez que les lignes supplémentaires sont supprimées et que la sortie est sous forme séquencée ligne par ligne. C'est ainsi que la méthodologie grep -v est si utile pour obtenir l'objectif requis.

La mention des extensions de fichiers limite la fonctionnalité grep à ne s'exécuter que sur les extensions de fichiers particulières, je.e., .texte ou .mp3. Comme nous effectuons un alignement sur un fichier texte, nous prendrons fileg.txt comme fichier d'exemple. Tout d'abord, nous allons afficher le texte qui y est présent à l'aide de la fonction $ cat. La sortie est la suivante :

En appliquant la commande, notre fichier de sortie a été obtenu. Ici, nous pouvons voir les données sans espacement entre les lignes écrites consécutivement.

$ grep -v '^[[:space:]]*$' fichierg.SMS

Outre les commandes longues, nous pouvons également utiliser les commandes écrites courtes sous Linux et Unix pour implémenter grep prend en charge les caractères abrégés.

$ grep '\s' nom de fichier.SMS

Nous avons vu comment la sortie est obtenue en appliquant des commandes à partir de l'entrée. Ici, nous allons apprendre comment l'entrée est maintenue à partir de la sortie.

$ grep '\S' nom de fichier.txt > tmp.txt && mv tmp.txt nom de fichier.SMS

Ici, nous allons utiliser un fichier texte temporaire avec une extension de texte nommé tmp.

En utilisant ^#

Tout comme les autres exemples décrits, nous appliquerons la commande sur le fichier texte à l'aide de la commande cat. Nous pouvons également afficher du texte en utilisant la commande echo.

$ echo nom de fichier.SMS

Le fichier texte comprend 4 lignes, avec un espace entre elles. Ces lignes d'espace sont facilement supprimées à l'aide d'une commande particulière.

$ grep -Ev "^#|^$" nom de fichier

Les opérations étendues régulières sont activées par -E, qui autorise toutes les expressions régulières, en particulier les pipes. Un tuyau est utilisé comme condition "ou" facultative dans n'importe quel modèle."^#". Cela montre la correspondance des lignes de texte dans le fichier qui commence par le signe #. "^$" correspondra à tous les espaces libres dans le texte ou les lignes vides.

La sortie montre la suppression complète de l'espace supplémentaire entre les lignes présentes dans le fichier de données. Dans cet exemple, nous avons vu que dans la commande "^#" vient en premier, ce qui signifie que le texte est mis en correspondance en premier. "^$" vient après | opérateur, donc l'espace libre est mis en correspondance par la suite.

En utilisant ^$

Tout comme l'exemple mentionné ci-dessus, nous obtiendrons les mêmes résultats car la commande est presque la même. Cependant, le motif s'écrit à l'opposé. Fichier22.txt est un fichier que nous allons utiliser pour supprimer les espaces.

$ grep -v '^$|^#' nom de fichier

La même méthodologie est appliquée sauf le travail en priorité. Selon cette commande, les espaces libres seront d'abord mis en correspondance, puis les fichiers texte seront mis en correspondance. La sortie fournira une séquence de lignes en supprimant les espaces supplémentaires.

Autres commandes simples

Ces deux sont si simples et aident à éliminer les lacunes dans les lignes de texte.

Conclusion

Supprimer les espaces inutiles dans les fichiers à l'aide d'expressions régulières est une approche assez simple pour obtenir une séquence de données fluide et maintenir la cohérence. Les exemples sont expliqués de manière détaillée pour améliorer vos informations sur le sujet.

Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...