Gibt es eine Möglichkeit, dem bash- find
Befehl mitzuteilen , was er ausgibt (ausführlicher Modus)?
Zum Beispiel für den Befehl:
find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
zur Ausgabe:
Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102
...
find
, also Daumen hochfind
Liebe wuchs noch ein bisschen. Danke :)find -L . -type l -delete -print
Wie wäre es einfach mit
rm -vf
für ausführliche RM-Ausgabe.quelle
rm
ist cool, aber wenn ich sie durch etwas anderes ersetze, kann ich nicht mehr sehen, an welchen Dateien gearbeitet wird (es sei denn, ich verwende sie imecho
Inneren-exec
)Eine Alternative besteht darin, die Befehle ausführen zu lassen durch
sh -x
:quelle
shell
debug
Modus wird klar genug sein, was passiert ist. DankeEs gibt auch das
find -D xxxx
, was in einigen Fällen helfen könnte.Nachfolgend finden Sie zwei Beispiele für
find -D search
:Verwendung von RHEL 6.3 (
find
v4.4):Verwenden von Cygwin 1.7 (
find
4.5):quelle
@hlovdavs Antwort hat mir gereicht, aber ich habe einige Änderungen für meinen eigenen Gebrauch vorgenommen
Erläuterung
pattern
null
Separat drucken , wichtig, wenn Sie Dateinamen mit Leerzeichen oder ungewöhnlichen Zeichen habenxargs
Lesen Sienull
getrennt, setzen Sie jeden Datensatzplatzhalter auf%%
Dies stellt auch sicher, dass jedes Mal nur ein Argument verwendet wirdbash
Befehl, Einzeiler, alles, was rein geht, muss in einfachen Anführungszeichen stehen'
--
alles was bedeutet , ich danach tun ist , nichtxargs
oderbash
Optionen , aber Positionsparameter zu meinem Einzeiler Skriptbash
Skripts können Sie auf%%
das$1
Positionsargument Nr. 1 zugreifenHinweis: Sie können
%%
alles ändern , stellen Sie jedoch sicher, dass Sie es nur für einen Platzhalter verwenden müssen. Mit Dollar$
oder@
vielleicht nicht gut, es sei denn, es ist doppelt so gut@
wie@@
.quelle