LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 659|回复: 4

遞歸把一個目錄中的文件名發現有指定的符號的文件名更改如

[复制链接]
发表于 2005-1-16 01:36:34 | 显示全部楼层 |阅读模式
用shell如果访问一个目录下的所有文件?? 将其中的特别符号删除掉比如
a_a

换成aa
发表于 2005-1-16 02:02:53 | 显示全部楼层

  1. for file in *;do mv $file $(echo $file|tr -d [:punct:]);done
复制代码

刚看完tr的用法,果然好使 ;)
回复 支持 反对

使用道具 举报

发表于 2005-1-16 10:52:34 | 显示全部楼层
cat *|sed 's/a_a/aa/'

用sed的话应该注意你应该确保特殊字符足够特殊而不会使它有可能是某个字符串的一部分,否则也将会被替换,如有一个字符串是ba_ab的词,本不是想替换的也会给替换掉

出现这种情况要以实际情况处理
回复 支持 反对

使用道具 举报

发表于 2005-1-16 18:07:50 | 显示全部楼层
版主就是版主,高!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-16 18:57:11 | 显示全部楼层
謝謝樓上兩位了

問此問題原因: samba中unix charset=cp950改為utf8後雙改為cp950時有些文件名中會莫名加_
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表