Получить список имен файлов и их хэшей md5 в текстовый файл - PullRequest
0 голосов
/ 18 марта 2020

Я написал эту команду, чтобы найти все имена файлов .txt и отсортировать / дедуплицировать их, а затем сохранить в текстовый файл.

find . -type f -name '*.txt' -exec basename {} \; | sort | uniq - txtsort.txt

таким образом я получаю файл, заполненный уникальными именами файлов

...
Empty.txt
...

Как объединить файлы md5-хэшей с именами файлов?

Как:

...
d41d8cd98f00b204e9800998ecf8427e_Empty.txt
...

Ответы [ 2 ]

1 голос
/ 18 марта 2020
find . -type f -name '*.txt' -exec bash -c "a=\$(basename {} | md5) ; mv {} \$(dirname {})/\$a\_\$(basename {}) " \;

Это должно сработать.

find . -type f -name '*.txt': просмотр всех файлов .txt.

a=\$(basename {} | md5): Хранит md5 га sh базового имени текущего файла.

mv {} \$(dirname {})/\$a\_\$(basename {}): переименовывает текущий файл, добавляя $a, т. Е. Has разделяется на _.

0 голосов
/ 19 марта 2020

Я обнаружил, что использование md5 -r отвечает на мой вопрос (мне действительно не нужно подчеркивание в имени, это было только для эстетических целей), поэтому:

find . -type f -name '*.txt' -exec md5 -r {} \; | sort | uniq - txtsort.txt

сделает свое дело.

...