将文件重命名为md5 sum + extension(BASH) [英] Rename files to md5 sum + extension (BASH)

查看:101
本文介绍了将文件重命名为md5 sum + extension(BASH)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一些有关bash脚本的帮助.脚本需要将目录中的所有文件重命名为其md5 sum +扩展名.

I need some help with a bash script. Script needs to rename all files in a directory to its md5 sum + extension.

我在下面找到了bash脚本,但是需要对其进行更改,以便添加扩展名.

I have found the bash script below, but it needs to be changed so that it will add the extension.

md5sum * | sed 's/^\(\w*\)\s*\(.*\)/\2 \1/' | while read LINE; do mv $LINE; done

推荐答案

这可能对您有用:

# mkdir temp && cd temp && touch file.{a..e}
# ls
file.a  file.b  file.c  file.d  file.e
# md5sum * | sed -e 's/\([^ ]*\) \(.*\(\..*\)\)$/mv -v \2 \1\3/' | sh
`file.a' -> `d41d8cd98f00b204e9800998ecf8427e.a'
`file.b' -> `d41d8cd98f00b204e9800998ecf8427e.b'
`file.c' -> `d41d8cd98f00b204e9800998ecf8427e.c'
`file.d' -> `d41d8cd98f00b204e9800998ecf8427e.d'
`file.e' -> `d41d8cd98f00b204e9800998ecf8427e.e'

或者GNU sed可以做的更短:

Or GNU sed can do it even shorter:

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

这篇关于将文件重命名为md5 sum + extension(BASH)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆