¿Cómo usar grep en Linux para informar de manera detallada si una cadena está presente en un archivo?

14

Quiero saber si ack_enabled not definedestá presente en un archivo en particular all_defs.txty devolver algo, por lo que puedo entender si la cadena está presente o no.

¿Puede alguien decirme cómo hacer esto?

RoyOneMillion
fuente

Respuestas:

19

Simplemente verifique el código de salida de grep. -qlo hace silencioso, !niega el código de salida:

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

Más vebose one-liner

El siguiente one-liner es aún más detallado:

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