我有一个大而凌乱的文件集合 - 嘿谁不 - 其中一些是大JPG(大在这种情况下是一个任意数字,说2.5MB),我要重命名 - 我想从*.jpg
扩展更改为*.jpeg.
查找并重命名大* .jpg到* .jpeg
我很想用一个shell脚本来做到这一点,我运行BASH 3.2.39(1)
,我有一种感觉,这是“简单”的任务与find
,唉,我觉得发现的语法很难记住,手册页无法阅读。
任何和所有的帮助最受赞赏。
我有一个大而凌乱的文件集合 - 嘿谁不 - 其中一些是大JPG(大在这种情况下是一个任意数字,说2.5MB),我要重命名 - 我想从*.jpg
扩展更改为*.jpeg.
查找并重命名大* .jpg到* .jpeg
我很想用一个shell脚本来做到这一点,我运行BASH 3.2.39(1)
,我有一种感觉,这是“简单”的任务与find
,唉,我觉得发现的语法很难记住,手册页无法阅读。
任何和所有的帮助最受赞赏。
安装重命名(标准工具,在你的Linux系统或自制适用于Mac),则:
rename -s .jpg .jpeg *
,或者如果你有子目录中的文件太:
rename -s .jpg .jpeg $(find . -name '*.jpg')
但是,这不会因文件大小而有所区别。 – Dan 2011-05-03 08:12:19
for i in *.jpg
do
new_name= $(echo $i|sed 's/.jpg/.jpeg/')
mv $i $new.name
done
再次...这是如何根据文件的大小区分? – Dan 2011-05-03 08:23:16
查找和重命名大文件可以这样进行:
find . -size +2500k -exec rename -s .jpg .jpeg '{}' ';'
我得到'未知选项:s' '-s'选项打算做什么? – Dan 2011-05-03 08:21:36
@Dan:取决于你的计算机上有哪个'rename'。基于Debian的发行版使用perl'prename'。改用'rename.ul'。请参阅http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439935 – 2011-05-03 13:08:51
谢谢@ christoffer-hammarstrom;我使用'rename.ul'而没有'-s'标志,它工作;而用'-s'标志它没有。 – Dan 2011-05-03 17:36:55
文件的大小* *在这里并不重要。 – pavium 2011-05-03 07:14:54
你是说你只想重命名大于2.5MB的文件吗? – 2011-05-03 07:16:42
我认为哈马斯特罗姆是有的;是的,我正在寻找重命名大于2.5MB或其他一些门槛的文件。 – Dan 2011-05-03 08:09:20