GNU/Linux >> Tutoriels Linux >  >> Linux

Ne renvoyer que la chaîne correspondante dans Sed ?

Cette question a déjà des réponses ici :Fermé il y a 8 ans.

Duplication possible :
Extraire une regex correspondant à 'sed' sans imprimer les caractères environnants

Comment puis-je faire en sorte que cela n'imprime que test :

echo "atestb" | sed -n 's/(test)/1/p'

Réponse acceptée :

Vous devez faire correspondre toute la ligne :

echo "atestb" | sed -n 's/.*(test).*/1/p'

ou

echo "atestb" | sed 's/.*(test).*/1/'

Linux
  1. Comment remplacer une chaîne dans un ou plusieurs fichiers ?

  2. Extraire une expression régulière correspondant à "sed" sans imprimer les caractères environnants ?

  3. Sed :Supprimer toutes les occurrences d'une chaîne, sauf la première ?

  4. Test Shell pour trouver un motif dans une chaîne ?

  5. Renvoyer uniquement la partie d'une ligne après un motif correspondant ?

Remplacement de chaîne dans Bash

Comment utiliser Sed pour remplacer une chaîne multiligne ?

Ajouter le texte correspondant à la ligne ?

Les 50 exemples pratiques de la commande SED sous Linux

Compresser Epub :le fichier Mimetype ne doit contenir que la chaîne application/epub+zip

Pourquoi slabtop -o ne renvoie-t-il que les 23 premières lignes lorsque la commande est canalisée ?