2016-08-31 3 views
1

Ich möchte MD5 für alle Dateien in einem tar-Archiv berechnen. Ich habe tar mit --to-command versucht.
tar -xf abc.tar --to-command='md5sum'
es Ausgänge wie folgt.
cb6bf052c851c1c30801ef27c9af1968 -
f509549ab4eeaa84774a4af0231cccae -

Dann möchte ich '-' durch den Dateinamen ersetzen.
tar -xf abc.tar --to-command='md5sum | sed "s#-#$TAR_FILENAME#"'
es meldet Fehler.
md5sum: |: No such file or directory md5sum: sed: No such file or directory md5sum: s#-#./bin/busybox#: No such file or directory tar: 23255: Child returned status 1TAR mit --to-command

Antwort

1

Sie haben nicht eine Schale haben, so wird dies nicht funktionieren (man könnte auch sehen, dass die | als Argument an md5sum bekommt). Eine Möglichkeit könnte darin bestehen, die Shell selbst aufzurufen, aber es gibt einige Probleme mit verschachtelten Zitaten:

tar xf some.tar --to-command 'sh -c "md5sum | sed \"s|-|\$TAR_FILENAME|\""' 
Verwandte Themen