Bagaimana cara menggunakan grep di Linux untuk melaporkan secara verbose apakah suatu string ada dalam file?

14

Saya ingin tahu apakah ack_enabled not definedada dalam file tertentu all_defs.txtdan mengembalikan sesuatu, yang dengannya saya dapat memahami apakah string ada atau tidak.

Adakah yang bisa memberi tahu saya cara melakukan ini?

RoyOneMillion
sumber

Jawaban:

19

Cukup periksa kode keluar dari grep. -qmembuatnya diam, !meniadakan kode keluar:

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

Lebih banyak vebose satu-liner

Satu kalimat berikut ini bahkan lebih bertele-tele:

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