分页: 1 / 1

[求助]关于改文件名的空格问题(已解决)

发表于 : 2009-02-08 20:41
daniel.supremacy
我一个文件夹下面有许多pdf文档
因为下载的缘故,所以有很多遗留问题,其中一个就是文件名中间有空格
比如
ABC version 2008-10-1 whois.pdf
DEF chaos 2008-12-2 unknown.pdf
[我的文件].Kd.Pl.2007-2-1.pdf
等等
格式不一定一样

我想将ABC version 2008-10-1 whois.pdf以及DEF chaos 2008-12-2 unknown.pdf这样有空格的文件名的空格(\ )用点(\.)或用下划线(_)来代替。

==================
google出一个解决方案
ls *\ *.pdf |
while read name; do
newname=$(echo $name | tr '\ ' '\.')
if [ "$name" != "$newname" ]; then
mv "$name" "$newname"
fi
done

Re: [求助]关于改文件名的空格问题(已解决)

发表于 : 2009-02-08 23:00
aerofox
其实有一条命令就可以了:

代码: 全选

rename 's/ /./g' *\ *.pdf
写脚本也可以不用 ls 和管道(如果文件名中包含换行符(罕见),楼上的脚本会有问题):

代码: 全选

for f in *\ *.pdf; do
    mv "$f" "${f// /.}"
done
此脚本适用于 bash。

Re: [求助]关于改文件名的空格问题(已解决)

发表于 : 2009-02-09 11:55
daniel.supremacy
学习了

Re: [求助]关于改文件名的空格问题(已解决)

发表于 : 2009-02-09 13:31
lerosua
嗯,也记住这个

Re: [求助]关于改文件名的空格问题(已解决)

发表于 : 2009-08-09 20:03
sevan
强贴留名~!!! :em05