Удивленный никто больше еще не упомянул этого:
rm -rf .*
(При попытке удалить все скрытые файлы и подкаталоги, полностью упущении, что это рекурсивно вызовет в .
и ..
)
Вам нужен некоторый способ сказать, что Вы хотите отправить вывод md5sum
в файл. С тех пор find
(или xargs
) не имеет этой функциональности встроенной, и md5sum
только знает, как распечатать к стандартному выводу, перенаправление оболочки является самым простым путем.
Обратите внимание, что Ваша команда не будет работать в общем случае по другой причине: выходной формат find
не формат ввода xargs
, они не соглашаются с именами файлов, содержащими пробел или \"'
. Использовать find -exec
вместо этого.
find . -type f -exec sh -c 'md5sum "$0" >"$0.md5"' {} \;
Необходимо использовать подоболочку для обработки перенаправления IO:
find . -type f | xargs -iFILES sh -c 'md5sum FILES > FILES.md5'
С Параллелью GNU можно сделать:
find . -type f | parallel md5sum {} \> {}.md5
Вы извлекаете дополнительную пользу из выполнения md5sum параллельно, и это регистрирует как:
My brother's 12" records.txt
не заставит Вашу команду отказывать. Посмотрите вводное видео для узнавания больше: http://www.youtube.com/watch?v=OpaiGYxkSuQ