Quelle est l'option P dans SED?

Quelle est l'option P dans SED?
Dans Unix / Linux, le sed (Stream Editor) Commande analyse et transforme les textes à l'aide d'expressions régulières. C'est l'un des tout premiers outils pour soutenir les expressions régulières. Aujourd'hui, sed fait partie de la spécification UNIX, donc disponible sur tous les systèmes Unix / Linux modernes par défaut.

Bien qu'il existe de nombreuses façons d'utiliser sed, Nous allons jeter un œil au P Option (avec des exemples) dans ce guide.

Utilisation de base SED

Cette section offrira un rafraîchissement rapide des usages de base de la sed commande.

La structure de commande de sed est comme suit:

$ sed

Dans la plupart des cas, sed est utilisé pour sa fonction de substitution. Jetez un œil à l'exemple suivant:

$ echo "The Quick Brown Fox" | sed -e / rapide / rapide / '

Ici le sed la commande fonctionne sur le contenu de Stdout du écho commande. En savoir plus sur Stdin, Stderr et Stdout dans Linux. Dans la sortie, le terme «rapide» est remplacé par «rapide».

Si nous voulions effectuer cette opération sur un fichier texte, la commande ressemblerait à ceci:

$ sed -e / rapide / rapide / g 'sed-demo.SMS

Notez que le contenu d'origine du fichier n'a pas été modifié. Pour modifier le contenu du fichier en place, nous devons ajouter le drapeau «-i». Jetez un œil à la commande suivante:

$ Cat Sed-Demo.SMS
$ sed -i -e 's / Quick / Quick / G' sed-Demo.SMS
$ Cat Sed-Demo.SMS

Notez que nous devions également ajouter le g option dans l'expression pour que sed recherche des correspondances de motifs sur l'ensemble du flux et effectue la tâche spécifiée.

L'option P dans SED

Pour modifier comment sed gère divers flux, il existe de nombreuses options disponibles. Nous avons exploré l'utilisation du g option dans le contexte de sedfonctionnalité de substitution. Le P Cependant, l'option est utilisée pour rechercher un modèle uniquement.

Remarquez que c'est en majuscule P. Minkecase P spécifie une autre option dans sed. Toutes ces options doivent être utilisées dans la spécification du modèle.

  • P: sed Imprimera tout le contenu dans l'espace de motif actuel.
  • P: sed Imprimera uniquement la première ligne de données dans l'espace de motif actuel.

Rappelez-vous comment sed Imprime la sortie de la modification du flux sur la console par défaut? Avec l'aide de p et P Options, nous pouvons contrôler ce que le contenu SED imprimera sur la console.

Par exemple, pour imprimer uniquement la première ligne, nous pourrions utiliser la technique suivante:

Echo «Ligne 1

Ceci est la ligne 2 ”| sed -n '1p'

Cela pourrait également être réalisé en utilisant le p option:

Echo «Ligne 1

Ceci est la ligne 2 ”| sed -n '1p'

Cependant, nous pouvons remarquer la différence dans leurs comportements si nous incluons 2 lignes dans le tampon et les imprimer: tous les deux:

Echo «Ligne 1

Ceci est la ligne 2 ”| sed -n '1 n; P '

Ici, il y avait deux lignes dans le tampon, mais nous n'avons imprimé le premier parce que nous utilisons le P option.

Conclusion

Dans ce guide, nous avons exploré le P option dans sed et a exploré quelques façons de la mettre en œuvre. Ce n'est qu'une des nombreuses façons d'utiliser sed. Ce guide montre la réalisation de plusieurs remplacements SED. Le pouvoir de sed provient de sa mise en œuvre d'expressions régulières. En savoir plus sur Expressions régulières dans SED.

Alors que sed Peut trouver l'édition de flux de texte, si vous devez simplement rechercher un modèle spécifique, alors grep est le choix optimal. Outre son utilisation fondamentale, le grep La commande prend en charge des fonctionnalités avancées comme l'exclusion de certains éléments, plusieurs modèles de chaîne et plus encore. Améliorez votre maîtrise du grep Commande avec 30 exemples Grep.

Happy Computing!