Ich möchte rekursiv alle Binärdateien in einem Ordner unter Linux mit der Befehlszeile oder einem Bash-Skript löschen. Ich fandAlle Binärdateien im Ordner
grep -r -m 1 "^" path/to/folder | grep "^Binary file"
alle binären Dateien in path/to/folder
bei How to list all binary file extensions within a directory tree? aufzulisten. Ich möchte jetzt alle diese Dateien löschen. ich tun kann
grep -r -m 1 "^" path/to/folder | grep "^Binary file" | xargs rm
aber das ist eher faul, wie es auch die Dateien ‚Binary‘ zu löschen versucht, ‚Datei‘ und ‚Matches‘, wie in
rm: cannot remove ‘Binary’: No such file or directory
rm: cannot remove ‘file’: No such file or directory
rm: cannot remove ‘matches’: No such file or directory
Die Frage ist, also Wie lösche ich diese Dateien korrekt?
Das ist eine schlechte Definition von "Binärdateien" zu beginnen. Unabhängig davon - ich schlage vor, Sie über [Word Splitting] (http://mywiki.wooled.org/WordSplitting) zu lesen. Ich bin mir ziemlich sicher, dass Sie schnell die Ursache Ihres Problems verstehen werden. –
Das funktioniert tatsächlich, danke! Ich stimme zu, dass diese Definition von "Binärdatei" nicht sehr gut ist (siehe die Antwort unten von vesche und seiner Diskussion), aber es erfasst genau die Dateien, die ich im gegebenen Anwendungsfall löschen wollte. – Christian
Ich bin froh zu hören, dass es für dich funktioniert hat :-) –