Spiro Trikaliotis <list-debian-user-german@spiro.trikaliotis.net> (Mo 12 Dez 2016 23:00:00 CET): … > > Beispiel: Alle Dateien in einem Verzeichnis inkl. Unterverzeichnisse > > ermitteln und Prüfsumme ermitteln: > > > > find . -type f -print0 | xargs -r -0 sha512sum > > aber gerade der Aufruf mit den Argumenten geht mit find auch anders, > einfacher, ohne -print0: > > $ find . -type f -exec sha512sum \{\} \; Wenn der Script mit Pfadnamen umgehen kann, hast Du recht. Wenn er es nicht kann, dann hilft Dein Vorschlag nicht. Aber -execdir. Aber auch dann müsste der Script vom OP angepasst werden, denn der geht ja aktuell davon aus, dass er selbst die Files im aktuellen Ordner mit "*" ermitteln kann. > oder auch > > $ find . -type f -exec sha512sum \{\} \+ BTW, bei einer Bash kann Du die Backslashes vor {, } und + ruhig weglassen. Bei den Klammern nicht immer, aber wenn einfach die schließende der öffnenden folgt, dann ja. > je nachdem, ob es ein mehrmaliger Aufruf eines Programms mit jeweils > einem Argument ("\;"), oder der (möglichst) einmalige Aufruf eines > Programms mit vielen Argumenten ("\+") sein soll. Und hier würde ich auch die Backslashes weglassen. Denn nur vom ; oder + hängt es ab, wie das Programm aufgerufen wird. Je nach Shell *kann* es notwendig sein, das eine oder andere Zeichen zu quoten. find … -exec … ';' wäre auch richtig, bei einer Bash. -- Heiko
Attachment:
signature.asc
Description: Digital signature