Como usar o grep no Linux para relatar de maneira detalhada se uma string está presente em um arquivo?

14

Eu quero saber se ack_enabled not definedestá presente em um arquivo específico all_defs.txte retornar algo, pelo qual eu possa entender se a string está presente ou não.

Alguém pode me dizer como fazer isso?

RoyOneMillion
fonte

Respostas:

19

Basta verificar o código de saída de grep. -qtorna silencioso, !nega o código de saída:

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

Mais vebose one-liner

O one-liner a seguir é ainda mais detalhado:

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