如何在Unix/Linux中为文件夹内所有文件添加.xml扩展名
我想把一个文件夹里的所有文件都改个名字,并且给它们加上一个 .xml
的后缀。我在使用Unix系统。请问我该怎么做呢?
4 个回答
3
find . -type f \! -name '*.xml' -print0 | xargs -0 rename 's/$/.xml/'
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。
4
我不知道这是不是标准做法,但我的 Perl
包(在 Debian/Ubuntu 系统上)里包含一个 /usr/bin/prename
的文件(还有一个指向它的链接叫 rename
),这个文件没有其他的用途:
rename 's/$/.xml/' *
22
在命令行里,你可以这样做:
for file in *; do
if [ -f ${file} ]; then
mv ${file} ${file}.xml
fi
done
编辑
如果你想对所有子目录进行递归操作,可以使用 find
命令:
for file in $(find -type f); do
mv ${file} ${file}.xml
done
不过,如果你要做的事情比这更复杂,那就不太适合用 shell
脚本了。
更好的方法
可以参考下面 Jonathan Leffler 提供的评论:
find . -type f -exec mv {} {}.xml ';'