Mam kilka checksums.md5
plików weryfikacyjny z dysku NTFS zewnętrznego, ale z użyciem notacji systemu Windows: \
zamiast /
, przestrzenie między nazwami plików (nie uciekł), zastrzeżone znaki powłoki (jak (
, &
, '
, aby wymienić tylko kilka).
checksums.md5
Ma kilka sum kontrolnych i nazwach:
;Created by program
;2010
f12f75c1f2d1a658dc32ca6ef9ef3ffc *My Windows & Files (2010)\[bak]\testing.wmv
53445e1a0821b790872e60bd7a166887 *My Windows Files' 2 (2012)\[bak]\testing.wmv
53445e1a0821b790872e60bd7a166887 *My Windows Files ˜nicóde (2012)\[bak]\testing.wmv
;Finished
Chcę to wykorzystać checksums.md5
do zweryfikowania plików, które skopiowałem na komputer: ale korzystam z systemu Linux, więc muszę przekonwertować nazwy checksums.md5
z systemu Windows na system Linux, aby użyć md5sum
narzędzia z powłoki. Pierwsza linia w moim przykładzie brzmiałaby:
f12f75c1f2d1a658dc32ca6ef9ef3ffc My\ Windows\ \&\ Files\ \(2010\)/\[bak\]/testing.wmv
Czy jest w tym jakaś aplikacja (konwertująca listę plików, z notacji cmd Windows, na notację powłoki Linuksa), czy też muszę utworzyć skrypt bash za pomocą sed, który po prostu „zamienia” co jest „nie tak” na nazwy plików?
źródło
cmd
notacja Windows ”. Gdyby tak było, ampersand uciekłby z karetką. To tylko surowa, nieozdobiona nazwa ścieżki.Odpowiedzi:
md5sum
Format nie korzysta z żadnej „notacji shell” - anicmd
anish
. Każda linia ma dokładnie dwa pola (skrót i nazwę pliku), więc nazwy plików nie powinny wymagać zmiany znaczenia.Tylko różnicą jest wykorzystanie
\
w porównaniu z/
separatorem ścieżki w różnych systemach. (Większość programów Windows/
też to akceptuje .) Wystarczy wymienić wszystkie ukośniki odwrotne i gotowe.źródło
Nie bez powodu md5deep jest dostępny zarówno dla systemu Windows, jak i Linux i jest w 100% kompatybilny z wieloma platformami. Sprawdź to na http://md5deep.sourceforge.net/
źródło