Löschen aller Textdateien
Maxwell
- webserver
0 Maxwell
Hallo,
wie kann ich rekursiv alle Textdateien löschen? Das Problem ist eigentlich, dass ich ein Verzeichnis mit x tausend Textdateien habe und diese nicht über rm * löschen kann (zudem das Problem, dass diese in Subverzeichnissen sein können und dass die "Argument list too long" ist).
Test:
find | grep ".*.txt" | rm -
also find listet alle Dateien, grep lässt nur Textdateien durch und rm soll dann diese Dateien löschen. Funktioniert so aber nicht, da rm den getopt - (STDIN) nicht kennt.
Wie kann ich das anders machen?
Grüsse,
Maxwell
Hallo,
ich habe eine Lösung gefunden.
find | grep ".*.txt" | rm -
find -type f -name "*.txt" -exec rm "{}" ";"
Ich weiss zwar noch nicht, wofür das ";" steht, aber vielleicht kann mir das noch jemand beantworten.
Grüsse,
Maxwell
Hi Maxwell!
Ich weiss zwar noch nicht, wofür das ";" steht, aber vielleicht kann mir das noch jemand beantworten.
Naja:
man find
ergibt bei mir:
(...)
Actions
- exec command ;
(...) All following arguments to find are taken to be arguments to the command until an argument consisting of ';' is encountered. (...)
Ergo: der Strichpunkt bedeutet für find, dass hier die Argumentenliste des ausgeführten Kommandos beendet ist.
Grüsse,
Richard