[问题]想批量把目录下文件名中的空格替换成“.” 该怎么办呢?搞不定转义字符那里

sh/bash/dash/ksh/zsh等Shell脚本
回复
xiangyuyu
帖子: 39
注册时间: 2006-06-02 10:42
送出感谢: 0
接收感谢: 0

[问题]想批量把目录下文件名中的空格替换成“.” 该怎么办呢?搞不定转义字符那里

#1

帖子 xiangyuyu » 2006-12-05 4:53

比如想把
a b.txt
c d.txt 改成
a.b.txt
c.d.txt

for filename in *.*
do
mv $filename ${filename//\ /\\\ } #这里的"\ "和" "实在是蒙了

done

请各位指点
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#2

帖子 eexpress » 2006-12-05 8:56

rename使用perl表达式,支持替换。
rename ’s/\ /\./’ *.txt
试试。
● 鸣学
xiangyuyu
帖子: 39
注册时间: 2006-06-02 10:42
送出感谢: 0
接收感谢: 0

#3

帖子 xiangyuyu » 2006-12-06 1:09

刚知道这个命令
谢谢了,搞定~~
回复

回到 “Shell脚本”