我有一组文件,它们全部都是 nnn.MP4.mov
格式的。我该如何将它们重命名为 nnn.mov
?
我有一组文件,它们全部都是 nnn.MP4.mov
格式的。我该如何将它们重命名为 nnn.mov
?
首先,使用以下命令进行模拟运行(不会实际重命名任何文件):
for file in *.mov
do
echo mv "$file" "${file/MP4./}"
done
如果一切看起来都正常,从第三行中删除echo
以实际重命名文件。
for file in *.png
do
mv "$file" "${file/-hd/}"
done
- jsherkrename.sh
文件;chmod 755 rename.sh
;./rename.sh
;echo
并再次启动它。mv "$file" "${file}.jpeg"
。 - Anatolii Pazhynfor file in *.mov; do echo mv "$file" "${file/MP4./}"; done
,分号 ;
起到了关键作用。 - Evi Songecho mv "$file" "${file/[replace_this]/[with_this]}"
- HLeb我刚刚成功地使用了Automator(这是我第一次使用),它真的很好用。我将这个自动化保存为“服务”。只用大约10秒钟的时间,就可以轻松地创建出可重复使用的东西:
现在,您可以右键单击Finder中的任何选择,进入“服务”菜单,选择“替换文本”,填写要更改或替换的文本内容 - 然后单击“继续”以应用已配置的更改。
为了测试打印操作:
for file in *.MP4.mov; do j=`echo $file | cut -d . -f 1`;j=$j".mov";echo mv \"$file\" \"$j\"; done
使其生效:
for file in *.MP4.mov; do j=`echo $file | cut -d . -f 1`;j=$j".mov";mv "$file" "$j"; done
在 Mac OSX 上,您可以通过 Homebrew 安装 rename
命令: brew install rename
然后您就可以在命令行中使用查找/替换来重命名该文件夹中的文件:
rename 's/\.MP4\././' *
你还可以使用man rename
来查看更多选项。
for n in *.MP4.mov
do
mv $n $(echo $n | sed -e 's/.MP4//')
done
即使在没有参数替换的非常老的shell上,这也能正常工作,并且至少对我来说更易读一些。
在OS X中,当您在Finder中选择两个或多个文件时,会出现“重命名文件…”上下文菜单项。提供与上面的Automator答案相同的功能。虽然如果您希望进一步使用工具,Automator可以为您提供这些工具。
(我知道OP要求终端,但有33个人喜欢Automator的回答)
for i in `ls *png`;do echo mv $i "${i%%.*}"@xx."${i##*.}";done
vimv可以使用Vim的文本编辑功能重命名多个文件。
输入vimv会打开一个Vim窗口,其中列出了所有文件,您可以进行模式匹配、可视化选择等操作来编辑名称。退出Vim后,文件将被重命名。
[免责声明:我是该工具的作者]
for i in *;
do j=`echo $i | cut -d . -f 1`;
j=$j".mov";
mv $i $j;
done
这将删除第一个点之前的所有内容,并添加 .mov 后缀。
但是,如果一些文件例如 hi.2.mov 和 hi.1.mov,则会被覆盖,因此请小心使用 ^^
ls -1 *.MP4.mov | while read f; do mv -i "$f" "$(basename \"$f\" .MP4.mov)"; done
编辑:已完全重写。