Mam kilka katalogów, które mają wspólny katalog nadrzędny. W każdym katalogu znajdują się zwykłe pliki, ale nie ma innych podkatalogów. Coś takiego:
top/dir-1
top/dir-1/file-11
top/dir-1/file-12
top/dir-2
top/dir-2/file-21
top/dir-2/file-22
top/dir-3
top/dir-3/file-31
top/dir-3/file-32
Chciałbym uruchomić sha1sumte pliki i uzyskać następujące pliki sum kontrolnych:
top/dir-1/sha1sum
top/dir-2/sha1sum
top/dir-3/sha1sum
top/dir-1/sha1sum, na przykład, powinien zawierać tylko sumy kontrolne dla file-11i file-12:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx file-11
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy file-12
Próbowałem kilka poleceń obejmujących find, sha1sum, cd, do forpętli i podpowłok, ale bez większych sukcesów.
Ostatnia rzecz: zarówno katalogi, jak i pliki mogą mieć spacje w swoich nazwach, więc każde rozwiązanie powinno to wziąć pod uwagę.
Jakieś pomysły?
Edytować. W końcu spróbowałem z:
cd top
for i in *; do cd "${i}"; (sha1sum * > sha1sum); cd ..; done
Wydaje się, że działa, ale nadal nie jestem pewien, czy jest to właściwy sposób na wykonanie tego rodzaju pracy.