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.SMSIl 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.SMSLe 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:]]*$' fichier20Vous 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.SMSNous 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.SMSIci, 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.SMSLe 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
- Grep '^… ' nom de fichier.
- Grep'.' Nom de fichier
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.