Ich benutzte diese Zeile, um den Ausdruck 'B206' innerhalb von Dateien in dem Verzeichnis zu finden, in dem ich mich befand, und all seinen Unterverzeichnissen.Unix 'finde' + 'grep' Syntax vs. awk
find . -exec grep -s "B206" '{}' \; -print
Es stürzt ab, wenn es um bestimmte Dateien zu lesen versucht und tatsächlich ändert die Titelleiste in Kitt zu einer Reihe von seltsamen Zeichen
Zum Beispiel stürzt die ganze Zeit, wenn es eine jpg-Datei trifft, die in ist ein Unterverzeichnis Die Titelleiste ändert, und auf dem Bildschirm existiert:
ÐF»*rkNQeË+Z׳kU£~MÞçÄZ½ªéúýØâÑn¡[U+Þ4ªÒ9/ê£<ú¯4}[IÓîÃ¥K»G%ݳ¢
mich zwingen zu Ctrl + C auf die Aufforderung aus zurück und beenden Sie dann aus.
Jede Möglichkeit, Code zu dieser Zeile hinzuzufügen, die jpg-Dateien ausschließt? Noch besser, ein Stück Code, wo ich eine Liste von Extensions hinzufügen kann, um sie auszuschließen?
EDIT:
-keine & -I für mich nicht funktionieren
fand ich diese similar question auch etwas zu meinem
was ist Ihre Umgebung? Bash? tcsh? Linux-Distribution? os x? – phi
Wenn Ihr System POSIX-kompatibel ist, können Sie "-not" durch '!' Ersetzen. Wenn die Zeichenfolge, die Sie suchen, immer von Nicht-Wortzeichen umgeben ist (einschließlich Newline), können Sie möglicherweise die ' -w wechselt zu grep [NB: Dieser Schalter wird nicht von POSIX angegeben, also YMMV]. Ich würde auch das 'H' Flag für Grep verwenden, um sicherzustellen, dass es den Dateinamen ausgibt: ' finden. ! -iname "* .jpeg"! -iname "* .jpg"! -iname "* .png" -exec grep -Hw B206 {} \; ' – sanmiguel