Wie verwendet man grep unter Linux, um ausführlich zu berichten, ob eine Zeichenfolge in einer Datei vorhanden ist?


14

Ich möchte wissen, ob ack_enabled not definedeine bestimmte Datei vorhanden ist, all_defs.txtund etwas zurückgeben, anhand dessen ich verstehen kann, ob die Zeichenfolge vorhanden ist oder nicht.

Kann mir jemand sagen, wie das geht?

Antworten:


19

Überprüfen Sie einfach den Exit-Code von grep. -qmacht es still, !negiert den Exit-Code:

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

7

Mehr Vebose-Einzeiler

Der folgende Einzeiler ist noch ausführlicher:

grep -q 'ack_enabled not defined' all_defs.txt && echo 'string found' || echo 'string not found'
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.