Comment utiliser grep sous Linux pour signaler de manière verbeuse si une chaîne est présente dans un fichier?

14

Je veux savoir si ack_enabled not definedest présent dans un fichier particulier all_defs.txtet retourner quelque chose, par lequel je peux comprendre si la chaîne est présente ou non.

Quelqu'un peut-il me dire comment faire cela?

RoyOneMillion
la source

Réponses:

19

Vérifiez simplement le code de sortie de grep. -qle rend silencieux, !annule le code de sortie:

if ! grep -q 'ack_enabled not defined' all_defs.txt ; then
    echo Not found.
fi
choroba
la source
7

Plus d'une doublure vebose

La doublure suivante est encore plus verbeuse:

grep -q 'ack_enabled not defined' all_defs.txt && echo 'string found' || echo 'string not found'
Serge Stroobandt
la source