Ich habe viele Verzeichnisse auf meinem System, deren Struktur folgendermaßen aussieht:
\-----data
\------- 001abc
\------- 002abc
\------- 003abc
\------- 004abc
\------- 005abc
\ ....
Wenn ich ein bestimmtes Verzeichnis suchen möchte, gebe ich einfach ein, find . -iname "002abc*"
aber wie kann ich ein Verzeichnis finden, das bestimmte Namensübereinstimmungen ausschließt?
So etwas in MySQL select * from folder where filename != '0021bc'
!
ist-not
wie folgt :find . -not -iname "002abc*"
find -L . -name '*.php' ! -name 'vendor/*.php' -print0
werden alle PHP-Dateien gefunden, die sich NICHT in einem Herstellerordner befindenSie können "alle" Ordner finden und dann den auswählen, mit dem Sie nicht möchten
grep -v
(oder egrep für diese Angelegenheit).Wenn Sie mehr als einen Namen auswählen möchten, können Sie die sequentielle grep -v- oder eine egrep-Anweisung verwenden.
oder
Sie müssen es auf das einstellen, was Sie wollen, und ich bin froh, es wiederholen zu können. Wenn Sie die Manpage zum Suchen lesen, finden Sie auch viele Flags zum Sortieren nach Dateien und Ordnern.
quelle
quelle