我一直在尝试找到一个简单的单行解决方案,用md5哈希重命名目录中的所有文件。我曾考虑过使用find -exec
,但我不知道如何将md5sum
的结果传递给mv。我试过了
find . -exec md5sum {} | mv {} \;
和
find . -exec mv {} `md5sum {}`
也许还有更好的方法可以解决这个问题?请建议一个初学者。所有帮助表示赞赏。
答案 0 :(得分:1)
您可以重复使用以下答案:Rename files to md5 sum + extension (BASH)
通过稍微修改它会完全符合您的要求(我已经为您编辑了命令):
md5sum * | sed -e 's/\([^ ]*\) \(.*\)$/mv -v "\2" \1/' | sh
输出示例:
'a' -> 'b026324c6904b2a9cb4b88d6d61c81d1'
'b' -> '26ab0db90d72e28ad0ba1e22ee510510'
'c' -> '6d7fce9fee471194aa8b5b6e47267f03'