Angenommen, ich möchte alle Dateien in einem Ordner löschen, die größer als 1 MB sind.
$ find . -size +1M | xargs -0 rm
Dadurch werden keine Dateien gelöscht, deren Namen Leerzeichen enthalten. Ich möchte, dass es alle Argumente zitiert, an die es sendet rm
. Wenn find
es gibt Some report.docx
sollte es passieren "Some report.docx"
zu rm
.
Wie kann ich das machen?
xargs -d$'\n'
das Trennzeichen , um nur neue Zeilen zu begrenzen (und keine Leerzeichen, dies würde nicht Anführungszeichen usw. verarbeitet speziell - ich auf einem GNU - System überprüft habe) - die Antwort in bestimmten stackoverflow.com/a/33528111/94687
xargs
. Auch als das Wiki schlägt vor, verwenden Sie nichtxargs
ohne Umweg-print0
zufind
.