如何在 bash 中使用程序输出重命名文件?



我一直在尝试找到一个简单的单行解决方案来使用md5哈希重命名目录中的所有文件。我已经考虑过使用find -exec但我不知道如何将md5sum的结果传输到 mv。我尝试过排列

find . -exec md5sum {} | mv {} ;

find . -exec mv {} `md5sum {}`

也许有更好的方法?请建议初学者。感谢所有帮助。

您可以从以下位置重复使用答案: 将文件重命名为 md5 总和 + 扩展名 (BASH(

通过稍微修改一下,它将完全按照您想要的方式完成(我已经为您编辑了命令(:

md5sum * | sed -e 's/([^ ]*)  (.*)$/mv -v "2" 1/' | sh

输出示例:

'a' -> 'b026324c6904b2a9cb4b88d6d61c81d1'
'b' -> '26ab0db90d72e28ad0ba1e22ee510510'
'c' -> '6d7fce9fee471194aa8b5b6e47267f03'

最新更新