Comment ignorer les lignes vierges en grep?

Comment ignorer les lignes vierges en grep?
Grep représente Impression d'expression régulière globale. 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 portefeuille de commandes Linux en matière de recherche. Dans de nombreux cas, nous sommes confrontés à des situations où nous n'avons pas besoin d'espaces, ou il est nécessaire de supprimer les lacunes indésirables dans nos données. L'une des façons les plus difficiles d'utiliser Grep est d'ignorer ou de supprimer les lignes vides du fichier texte. Cette procédure est accomplie à travers différents exemples, veuillez donc lire ci-dessous pour voir comment c'est fait.

Syntaxe

grep [motif] [nom de fichier]

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

Prérequis

Pour comprendre facilement l'utilité de Grep, nous devons faire installer Ubuntu sur notre système. Fournir les détails de l'utilisateur en fournissant un nom d'utilisateur et un mot de passe pour avoir des privilèges dans l'accès aux applications de Linux. Après vous être connecté, ouvrez l'application et recherchez un terminal ou appliquez la clé de raccourci de Ctrl + Alt + T.

En utilisant [: blanc:] mot-clé

Vous pouvez créer un fichier sur l'éditeur de texte ou avec une ligne de commande dans le terminal. Pour créer un fichier sur le terminal, y compris les commandes suivantes.

$ echo "texte à saisir dans un fichier"> nom de 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 annexe:

$ nom de fichier Cat.SMS

Supposons que nous ayons un fichier nommé BFile ayant une extension de texte. Le texte écrit dans ces fichiers contient des espaces entre eux, comme le montre la figure ci-dessous.

$ echo "Mon nom est Guria.
je suis un bon étudiant.
J'ai lu en classe 5.
j'ai un frère et une soeur
Ma mère est une femme au foyer
je veux aller à l'école
"> bfile.SMS

Affichez le contenu du fichier comme indiqué ci-dessous:

$ Cat bfile.SMS

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

$ egrep '^ [[: blanc:]] * [^ [: blanc:] #]' bfile.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 évidence comme des espaces entre le dernier mot de la ligne et entre les premiers mots de la ligne suivante. 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 [: l'espace:]

Un autre exemple d'ignorance d'espace est expliqué ici. Permet d'abord de créer notre fichier texte sur le terminal:

$ echo "Mon nom est Hamna
Je suis une femme au foyer
Je veux apprendre la programmation
J'ai une fille
"> Fichier20

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

$ Cat File20

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

$ grep -v '^ [[: espace:]] * $' file20

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

Faisons un autre exemple avec le fichier de données suivant:

$ echo "grep est une commande polyvalente qui aide le nouvel utilisateur.
Il est utilisé pour rechercher des noms de fichiers à l'aide des commandes.
Nous pouvons aller au mannuel en utilisant un homme grep
"> Fileg.SMS

La sortie est la suivante:

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

$ grep -v '^ [[: espace:]] * $' fileg.SMS

Outre les longues commandes, nous pouvons également accompagner les courtes commandes écrites dans Linux et Unix pour implémenter les prises en charge GREP.

$ grep '\ s' fileg.SMS

Nous avons vu comment la sortie est obtenue en appliquant des commandes à partir de l'entrée. Ici, nous apprendrons comment les entrées sont maintenues à partir de la sortie.

$ grep '\ s' fileg.txt> tmp.txt && mv tmp.TXT Fileg.SMS

Ici, nous utiliserons un fichier texte temporaire avec une extension du texte nommé TMP pour transférer le contenu filtré vers le fichier d'origine.

En utilisant ^ #

Créons un nouveau fichier de données afin de tester cette version de syntaxe:

$ echo "La conception graphique est une bonne plate-forme de conception
et faire des cartes de visite logos
et affiches etc. Photoshop
et illustrator sont utilisés pour ce "> fileb.SMS
$ Cat Fileb.SMS

Le fichier texte comprend 4 lignes dedans, ayant de l'espace entre eux. Ces lignes d'espace sont facilement supprimées à l'aide d'une commande particulière.

$ grep -ev "^ # | ^ $" fileb.SMS

Les opérations étendues régulières sont activées par -e, ce qui permet toutes les expressions régulières, en particulier les tuyaux. Un tuyau est utilisé comme une condition «ou» facultative dans n'importe quel motif."^ #". 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 que «^ #» vient en premier, ce qui signifie que le texte est apparié en premier. «^ $» Vient après | opérateur, donc l'espace libre est assorti après.

En utilisant ^ $

Tout comme l'exemple mentionné ci-dessus, nous viendrons avec les mêmes résultats car la commande est presque la même. Cependant, le modèle est écrit de manière opposée. Fichier22.TXT est un fichier, que nous allons utiliser dans la suppression des espaces.

$ echo "L'écriture technique est un bon feild d'étudier
c'est un champ analytique
Nous pouvons apprendre beaucoup de choses
L'écriture commerciale est sa catégorie d'écriture
Merci l'apprentissage "> file22.SMS
$ grep -v '^ $' file22.SMS

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

Autres commandes simples

grep '^…' file22.SMS
grep '.'file22.SMS

Ceux-ci sont si simples et aident à éliminer les lacunes dans les lignes de texte.

Conclusion

La suppression des lacunes inutiles dans les fichiers à l'aide d'expressions régulières est une approche assez facile pour obtenir une séquence de données fluide et maintenir la cohérence. Des exemples sont expliqués de manière détaillée pour améliorer vos informations concernant le sujet.