当前位置:  技术问答>linux和unix

批量修改特殊符号文件夹及文件SHELL

    来源: 互联网  发布时间:2016-09-21

    本文导语:  目录结构 root ddd  |   -----roo(rr)         |          ----roo..ff( 要求需要把特殊体都替换成_,重复多次的变成单个。。 | #!/bin/bash #下面这句的值改成你实际要修改的主目录 TARGETPATH=/...

目录结构

root ddd
 |
  -----roo(rr)
        |
         ----roo..ff(


要求需要把特殊体都替换成_,重复多次的变成单个。。

|
#!/bin/bash
#下面这句的值改成你实际要修改的主目录
TARGETPATH=/tmp/test
change(){
while read line
do
    if  echo "$line" | grep -q  '[^[:alnum:]./_]'
    then
        path=`dirname "$line"`
        name=`basename "$line"`
        newname=`echo "$name" | sed -e "s/[^a-zA-Z0-9]{1,}/-/g"`
        if [[ "$name" != "$newname" ]];then
                mv "$line" "$path/$newname"
        fi
    fi
done/tmp/tmp.txt`
change
#change directory name改目录名
files=`find $TARGETPATH -type d>/tmp/tmp.txt`
change

|
try:
find $(pwd) -type d |
awk 'NR>1{printf "mv 42"$0"42 "}{gsub(/[(|) ]/,"_");gsub(/([_])+/,"_");print}'|sh

|
javer@javer-laptop:~/MyProjects/cakes/mvtest$ ls -l
总用量 4
-rw-r--r-- 1 javer javer   0 2010-08-18 16:18 ^&*(
-rw-r--r-- 1 javer javer   0 2010-08-18 16:18 a()
-rw-r--r-- 1 javer javer   0 2010-08-18 16:18 aa++==
-rwxr-xr-x 1 javer javer 181 2010-08-18 16:17 rnm.sh
javer@javer-laptop:~/MyProjects/cakes/mvtest$ ./rnm.sh 
./^&*(
./aa++==
./a()
javer@javer-laptop:~/MyProjects/cakes/mvtest$ ls
____  a__  aa____  rnm.sh

|
试试这个 不过当文件名里包含的时候 会有问题

#!/bin/bash
#下面这句的值改成你实际要修改的主目录
TARGETPATH=/tmp/test
change(){
while read line
do
    if  echo "$line" | grep -q  '[^[:alnum:]./_]'
    then
        path=`dirname "$line"`
        name=`basename "$line"`
        newname=`echo "$name" | sed -e "s/[^a-zA-Z0-9]{1,}/-/g"`
        if [[ "$name" != "$newname" ]];then
                mv "$line" "$path/$newname"
        fi
    fi
done/tmp/tmp.txt`
change
#change directory name改目录名
files=`find $TARGETPATH -type d>/tmp/tmp.txt`
change

    
 
 

您可能感兴趣的文章:

  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 求助,linux中修改了目录dir下的某个文件,相应的dir属性中的时间会与修改目录下文件的时间一致,这是怎么实现的?
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 用JCreator写了一个小程序,有十几个class,当修改某个文件重新编译,javac并没有编译修改的文件,请问要如何做javac才会重新编译所有的
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • 修改ip地址的话应该修改/ect下哪个文件里的内容?
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  • 有什么命令可以修改整个目录下文件的最后修改时间?
  • unix 下 C++实现 ftp 到另一台主机上 修改文件内容 !能不能直接在主机上修改 还是只能get下来本地修改完后 在put上去
  • 在redhat-linux7.2下,用lilo的方式启动,当升级内核时,如何修改/etc/lilo.conf文件?有没有什么设置让系统自动修改这个文件??
  • 哪个DOS命令可以修改指定文件的时间(修改时间)?
  • 急,请问如何修改网络接口eth为其它名称,如网络接口为abc0, abc1,要修改哪个配置文件?
  • 编译完内核后如何修改grub.conf文件是修改生效
  • linux 下如何修改文件名,文件内容
  • oracle iis7站长之家
  • 一个通用makefile不会不检测.h文件的修改,应该怎么修改.
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • 求助文件操作中修改文件中字段的问题,请大家帮忙解决
  • 我修改了/etc/resolve.conf文件中的DNS,请问怎样不重起机器前提下是修改起作用?
  • 如何判断文件夹下的文件是否被修改
  • 请问unix下修改文件和文件夹读写权限的问题
  • 在linux下怎样修改文件夹的权限????
  • linux 下如何修改隐藏文件夹下的所有文件有可执行命令!
  • 如何让ubuntu重新提示修改主目录下的文件夹名称
  • 如何用命令修改文件夹GID???
  • 如果要修改文件文件夹的权限,需要什么权限?
  • 关于在一个文件夹中寻找最新修改的文件
  • SHELL脚本修改文件名移动到指定文件夹
  • Linux下无法修改文件夹权限
  • 为什么在同一个文件夹下面新建一个程序文件,然后修改Makefile,就出错?
  • Windows下修改mysql的data文件夹存放位置的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何修改目标文件中的符号?
  • 修改Windows硬盘分区名称
  • 高手帮帮忙!!! 在线等!!outlook的附件修改且保存后,再次打开发现是修改之前的原件
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 原密码被人恶意修改,如何修改suse系统的超级用户密码(急)
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 请教一下,如何修改ubuntu命令,使其可以直接修改kvm虚拟机配置
  • 通过docker commit命令保存对docker容器的修改
  • shell 程序监控网站网页是否被修改,如果被修改停止服务器的运行?
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • 请教下关于root密码忘记了怎么修改(除了去现场单用户修改)
  • [fedora]下怎么修改MAC地址,并且要重新动的时候还是修改后的值。
  • ◆◆◆◆遇到这样一个问题,请帮忙修改修改.
  • 本来可以修改skb里tcp数据的,突然不能修改了,为什么?
  • 用touch命令修改访问时间时,却发现连修改时间和状态时间也改了.疑惑
  • BIOS是在ROM中的,如果修改了BIOS项,那么修改的东西是放在哪呢
  • 简单了,请问怎样修改runlevel?我现在的runlevel是5,想修改成3,怎么办?
  • 请问如何修改网卡的速率,如强制100M,强制10M,怎么实现的,是不是要修改驱动?
  • 对数据库的查询结果resultset进行修改后,怎么将修改的信息传回给数据库
  • 各位大虾:请问UNIX环境下C语言函数memcpy拷贝的字符的长度有没有限制,若有,能不能修改,怎么修改?
  • ubuntu12 下面,如何修改PATH 变量和保存,使得变量修改有戏下次登陆后依然有效. 谢谢.
  • 我是linux初学者,我修改了/ect/fstab,结果出现登陆报错,请教大家如何修改


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3