Як конвертувати назви файлів Windows (з Checkums.md5) в нотацію * nix, щоб я міг використовувати його на своїй оболонці з md5sum?


1

У мене є кілька checksums.md5перевірочних файлів з NTFS зовнішнього жорсткого диска, але з використанням вікна позначення: \замість того , щоб /пробілу між іменами файлів (не вислизнули), зарезервовані символи оболонки (наприклад (, &, ', щоб назвати кілька).

У checksums.md5купі контрольних сум та іменних файлів:

;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

Я хочу використовувати це checksums.md5для перевірки файлів, які я скопіював на свою машину: але я перебуваю на Linux, тому мені потрібно перетворити імена всередині checksums.md5Windows з Linux для використання md5sumутиліти з оболонки. Першим рядком у моєму прикладі стане:

f12f75c1f2d1a658dc32ca6ef9ef3ffc  My\ Windows\ \&\ Files\ \(2010\)/\[bak\]/testing.wmv

Чи є якась програма для цього (перетворення списку файлів, з Windows cmd позначення, до нотації оболонки Linux) або мені потрібно створити скрипт bash за допомогою sed, який просто «замінює» те, що «не так» з назви файлів?


Що ви намагаєтеся перевірити? Це сама файлова система NTFS?
OldWolf

Ні, файли, скопійовані на зовнішній диск ntfs, мали контрольну суму md5, я копіюю їх знову на машину і хочу перевірити контрольні суми, але Checkums.md5 використовує нотацію списку файлів Windows, і мені потрібно конвертувати її до * nix. Я відредагував питання з більшою інформацією та конкретним прикладом.
Хтось досі використовує вас MS-DOS

2
Це не " cmdпозначення Windows ". Якби це було, амперсанд би врятувався каретою. Це просто сира неприхована назва шляху.
JdeBP

Відповіді:


2
sed -i 's|\\|/|g' checksums.md5

Формат md5sumвиводу не використовує жодної "позначення оболонки" - ні cmdні sh. Кожен рядок має рівно два поля (хеш та ім’я файлу), тому для імен файлів не потрібно вимагати жодних пробіг.

Лише відмінністю є використання \проти /як роздільників шляху в різних системах. (Більшість програм Windows /теж приймає .) Просто замініть всі нахили на наклон і все закінчено.


Мені потрібно було додати "./" на початку рядка, оскільки контрольні суми не мають повного шляху ... але дякую. Оскільки це не спрацювало, я подумав, що це спеціальні символи, але ваша відповідь змусила мене шукати інші проблеми (тому я позначив це як прийняте). Дякую.
Хтось досі використовує вас MS-DOS

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.