Ich habe versucht, die Syntax für diesen Befehl zu erarbeiten:
grep ! error_log | find /home/foo/public_html/ -mmin -60
ODER:
grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60
Ich muss alle Dateien sehen, die geändert wurden, außer den genannten error_log
.
Ich habe hier darüber gelesen , aber nur ein not
Regex-Muster gefunden.
Antworten:
grep -v
ist dein Freund:Überprüfen Sie auch die verwandten
-L
(die Ergänzung von-l
).quelle
-e
Option verwendet werden kann:grep -v -e 'negphrase1' -e 'negphrase2'
grep -v 'negphrase1|negphrase2|negphrase3'
-E
Werken zu interpretieren , dhgrep -vE 'negphrase1|negphrase2|negphrase3'
grep "" /dev/null * | grep foo | grep -v bar | cut -d: -f1 | sort -u
( warum der erste Grep? Es gibt immer einen Weg :))Sie können auch
awk
für diese Zwecke verwenden, da Sie damit komplexere Überprüfungen klarer durchführen können:Zeilen, die nicht enthalten
foo
:Zeilen, die weder
foo
noch enthaltenbar
:Zeilen, die weder
foo
nochbar
enthaltenfoo2
oder entweder oder enthaltenbar2
:Und so weiter.
quelle
In Ihrem Fall möchten Sie vermutlich nicht grep verwenden, sondern dem Befehl find stattdessen eine negative Klausel hinzufügen, z
Wenn Sie Platzhalter in den Namen aufnehmen möchten, müssen Sie diese maskieren, z. B. um Dateien mit dem Suffix .log auszuschließen:
quelle