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

shell脚本修改文件名

    来源: 互联网  发布时间:2017-03-18

    本文导语:  我想把某个目录下所有以B开头的文件,改为以as开头 就会个遍历文件,剩下的茫然了 #!/bin/sh for fname in $( ls /home/simage ) do     # :( done 怎么判断找到的文件fname是不是以B开头的?做了n多尝试不通,fname好像还...

我想把某个目录下所有以B开头的文件,改为以as开头
就会个遍历文件,剩下的茫然了

#!/bin/sh
for fname in $( ls /home/simage )
do
    # :(
done

怎么判断找到的文件fname是不是以B开头的?做了n多尝试不通,fname好像还不能当成数组?
然后再怎么换?
估计这东西不会很麻烦,就是摸不上头绪

新手上路多有不知,烦请各位略作指点~

|
如果有 rename 程序,直接如下调用:
rename B as /home/simage/*


如果要练脚本:

#!/bin/sh
for fname in /home/simage/B*
do
    mv $fname ${fname/B/as}
done

|
dir=./   ##楼主此处查找路径赋值为“/home/simage/”,会查找此目录下的子目录
set -A FILELIST `find ${dir} -name "B*" -print | awk '{print substr($1,3,length($1)-2)}'`    ##楼主此处的substr为 ubstr($1,14,length($1)-13)},子目录有文件需对应修改
for file in ${FILELIST[*]}
do
newfile=`echo ${file} | sed 's/^B/as/'`   ##只替换开头第一个B
mv $file $newfile
done

如:
#ls -lrt
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 Basdf
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 badas
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 adfa
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 Bdasfd
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 Basdfas
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 BBdd
#find ./ -name "B*" -print | awk '{print substr($1,3,length($1)-2)}'
Basdf
Basdfas
Bdasfd
BBdd
#for file in in ${FILELIST[*]}
> do
>         newfile=`echo ${file} | sed 's/^B/as/'`
>         mv $file $newfile
> done

#ls -lrt
    -rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 asasdf
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 badas
    -rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 asdasfd
    -rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 asasdfas
    -rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 asBdd
-rw-r--r--   1 dcss     yzyf_dev          0 10ÔÂ19 12ʱ08 adfa

    
 
 

您可能感兴趣的文章:

  • shell 按当前时间作为文件名建立文件夹
  • 我想写一个shell脚本 把当前文件夹下的所有文件名改名
  • 如何删除目录中文件名小于某个字符串的所有文件 shell
  • [求助]一个shell查询文件名的问题
  • 怎么用shell创建连续文件名的文件??
  • Shell获取文件的文件名和扩展名的例子
  • shell,如何遍历出指定位置包含指定字符串的文件名?
  • 如何写shell脚本 把文件移到文件名对应的文件夹
  • 怎么用shell把文件名中一些字符去掉
  • 在shell下,如何获得一个目录下的文件名?
  • 在C SHELL中,如何判断在某一指定目录下是否有已知文件名存在?
  • shell 获取解压后的文件名
  • 求一个批量改文件名的shell,谢谢。
  • 如何用shell获取linux目录下的文件名呢?
  • 求助 shell中split命令如何实现文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始
  • 如何用shell脚本实现根据当前文件名生成新文件
  • SHELL脚本修改文件名移动到指定文件夹
  • Linux shell script输出文件名
  • shell创建一个带参数的文件名,这个参数怎么不显示出来backup$BDATE.dump
  • 新手请问,检查某个指定文件是否存在于opt目录下,如果存在则把该文件名保存到文本文件里,用Shell脚本如何写?请简写代码供参,谢谢。PM5
  • shell脚本如何调用另外一个shell脚本的函数?
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • shell 脚本中命令别名在脚本外无法使用
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 想用shell脚本定时执行另一个脚本
  • 一个shell执行另一个带参数shell脚本????????????
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  • Shell脚本调用Sql脚本并向其中传递变量
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • shell 程序监控网站网页是否被修改,如果被修改停止服务器的运行?
  • 关于修改Linux的shell问题
  • 菜鸟提问:如何修改UNIX的shell提示符?
  • 请求有关solaris和hpux机器如何修改shell命令的长度
  • shell 的配置文件如何修改?
  • 什么命令可以修改root用户的shell?
  • 用shell脚本修改用户密码,为什么出错?
  • 通过shell脚本修改终端标题
  • 修改/etc/profile 后出现shell命令无法识别
  • 如何编程实现(不用shell命令)修改文件的时间
  • 请问一下如何用shell脚本来修改文件的内容?
  • 如何用SHELL脚本修改整个目录文件的后缀名
  • 自动修改 问题 shell makefile
  • 关于使用SHELL修改文件的
  • 请教shell的问题,关于文本文件的修改和添加
  • linux怎样修改shell
  • 小小shell脚本错误,帮忙修改!
  • Linux shell 执行这句 find 命令总是报错, 如何修改呢?
  • 使用usermod -u 来修改用户主目录和默认shell时提示找不到这个用户
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 请问“当前shell”和“子shell”的区别?
  • unix/linux知识 iis7站长之家


  • 站内导航:


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

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

    浙ICP备11055608号-3