"Le terme sed est une abréviation de rédacteur en chef. Dans Unix / Linux, le sed Commandez et transforme les flux (textes, dans la plupart des cas). C'est un outil de ligne de commande qui vient préinstallé dans chaque système Unix / Linux."
Dans ce guide, nous explorerons le g option dans sed.
Utilisation de base de SED
L'utilisation la plus courante de la commande SED est de trouver et de remplacer le contenu dans un flux donné. La structure de commande est la suivante:
$ sed 's ///'
Jetez un œil à l'exemple suivant:
$ echo "The Quick Brown Fox" | sed 's / le / le /'
Ici,
Si vous essayez de modifier un fichier texte, SED ne modifie pas le contenu du fichier par défaut. C'est pour éviter une perte de données accidentelle. Pour modifier directement le contenu d'un fichier, vous devez exécuter SED avec l'édition sur place.
L'option G dans SED
Lors de la recherche et du remplacement, le comportement par défaut de sed est de mettre fin à ses actions en trouvant la première instance. L'exemple suivant démontre parfaitement ce comportement:
$ echo "le le le" | sed 's / le / le /'
Ici,
Pour demander à SED de transformer toutes les instances correspondantes du motif donné, nous devons ajouter l'option G. Mettez à jour la commande comme suit:
$ echo "le le le" | sed 's / le / le / g'
Maintenant, tous les cas de «les» sont changés en «le» correctement.
L'option G dans SED
Nous arrivons enfin au point de mise au point de ce guide. Tandis que le g L'option s'applique à la substitution du texte, la g L'option est utilisée dans un usage complètement différent.
En utilisant le g Option, nous pouvons ajouter l'espace de maintien pour l'espace de motif. En termes simples, nous pouvons ajouter de nouvelles lignes avant / après le modèle de correspondance.
Pour une démonstration, j'ai créé un exemple de fichier texte test.SMS:
chat << EOF > test.SMS
le
rapide
brun
le
renard
Eof
Espacement supplémentaire
Nous pouvons maintenant effectuer diverses opérations sur l'espacement du fichier. Par exemple, pour doubler le fichier, utilisez la commande suivante:
$ SED G Test.SMS
De même, nous pouvons tripler l'espace du fichier:
$ sed 'g; g' test.SMS
Ici,
Supprimer l'espacement supplémentaire
Nous pouvons également utiliser le g Option pour supprimer toutes les lignes vides et l'espace double:
$ sed 'g; g' test.txt | sed '/ ^ $ / d; g'
Insérer des lignes vides avant / après les matchs
Nous pouvons spécifier un modèle en utilisant une expression régulière et dire à Sed d'ajouter une ligne vide avant / après elle.
Le premier exemple sera d'ajouter une ligne vide sous le modèle de correspondance:
$ sed '/ le / g' Test.SMS
L'exemple suivant sera d'ajouter une ligne vide au-dessus du modèle de correspondance:
$ sed '/ le / x; p; x;' Test.SMS
Enfin, nous pouvons les combiner tous les deux ensemble pour insérer des lignes vierges autour du motif de correspondance:
$ sed '/ le / x; p; x; g;' test.SMS
Dernières pensées
Dans ce guide, nous avons réussi à avoir démontré diverses façons d'utiliser le g option avec sed Pour ajouter des espaces dans le texte. Cette technique peut être utile dans diverses situations, par exemple, distinguer les lignes spécifiques dans un journal de débogage.
Un énorme avantage de SED est son support d'expression régulière. En savoir plus sur SED avec Regex. La commande SED peut également être facilement intégrée dans les scripts shell.
Happy Computing!