Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Aujourd'hui à 09:05

DonutMan75

[RESOLU] Equivalent grep pour mettre en exergue un pattern ?

Bonjour,
avec grep, je sais extraire les lignes qui contiennent un PATTERN et mettre ce PATTERN en exergue avec --color=always par exemple.

Ce que je souhaite faire c'est afficher l'intégralité du fichier (comme avec cat) mais en mettant en exergue toutes les occurences du PATTERN (en l'affichant en rouge par exemple).

Avec grep, j'ai trouvé une rustine un peu moche avec l'option -C (context) qui permet de sélectionner N lignes avant et après

$ grep -C 10000 PATTERN fichier.txt

Savez-vous s'il est possible d'avoir le comportement souhaité avec grep ? (rien ne semble l'indiquer dans le man et d'ailleurs, ce ne serait pas un comportement attendu de grep).

Sinon, existe-t-il une autre commande qui permettrait de faire ça ?
Eventuellement, je peux bidouiller un truc avec sed mais il existe peut-être quelque chose d'atomique déjà existant...

$ sed -e 's/PATTERN/\x1B[31mPATTERN\x1B[0m/' < fichier.txt

Merci à vous smile

D.

Dernière modification par DonutMan75 (Aujourd'hui à 11:00)

Hors ligne

#2 Aujourd'hui à 10:17

Watael

Re : [RESOLU] Equivalent grep pour mettre en exergue un pattern ?

salut,

sed, c'est bien.
note que la redirection est inutile.

fais-toi une fonction qui accepte deux arguments, à mettre dans ton .bashrc :

exerg()
{
#TODO: tester l'existence des arguments et la nature du second
 motif=1ドル
 fichier=2ドル
 sed -e 's/'"$motif"'/\x1B[31m&\x1B[0m/' "$fichier"
}

à appeler ainsi :

exerg "pattern ou motif" /chemin/vers/fichier

Dernière modification par Watael (Aujourd'hui à 10:18)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Aujourd'hui à 10:59

DonutMan75

Re : [RESOLU] Equivalent grep pour mettre en exergue un pattern ?

Merci Watael !
Effectivement mettre ça dans une fonction, c'est bien.
Je passe le fil en résolu !

D.

Dernière modification par DonutMan75 (Aujourd'hui à 11:00)

Hors ligne

AltStyle によって変換されたページ (->オリジナル) /