Uruchamianie sha1sum w kilku katalogach


2

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.


@Mat: Zaktualizowałem pytanie.
Francesco Turco

Odpowiedzi:


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.