读取配置文件,进行文件位置转移 在whenb.csv中指定了需要从/home/root/cf/下移除到/home/root/cf_wh/下文件列表,whenb.csv中包含记录如下: enb- enb- enb- .... 具体实现的shell脚本: #!/bin/sh enbArr=() idx= for line in `cat whenb.csv` do enbArr[$idx]=$line let idx=$idx+ done for data in ${enbArr[@]} do $(
通过如下批处理命令可实现批量更改文件名: @echo set DIR="%cd%" echo DIR=%DIR% set /p ext=文件类型: set /p find=要替换内容: set /p replace=替换内容: for /f "delims=" %%i in ('dir /b /a-d "*.%ext%"' ) do ( set str1=%%i setlocal EnableDelayedExpansion set "
//随机生成文件 //文件名会带数字的...注意echo后面的是反引号,不是单引号 #!/bin/bash dir=/root/bp for i in 'seq 10' touch $dir`echo $RANDOM|md5sum|cut -c 1-10`.html done //在上面的基础上批量删改文件 #!/bin/bash dir=/root/bp for i in 'ls' a=`echo $i|cut -c 1-10` //找到前面的名字,忽略后面固定的部分 mv ${a}_oldb
文件名是有[基本名]与[扩展名]两部分构成 1.借助[%]操作符从文件名中提取基本名部分 Linux:/qinys # file_name='get_name.tar.gz'Linux:/qinys # name=${file_name%.*}Linux:/qinys # echo "The File name is :"$nameThe File name is :get_name.tar 从输出结果我们可以看出,已经成功从文件名get_name.tar.gz中提取基本名:get_n
修改文件名前 #!/bin/bask # for a in $( ls /etc/yum.repos.d/CentOS* );do if [ $a != '/etc/yum.repos.d/CentOS-Media.repo' ];then #CentOS-Media.repo的文件名不修改 mv $a $a.bak #给文件加上后缀 .bak fi done 测试: 删除文件后缀 .bak#!/bin/bask # for a in $( ls /etc/yum.repos.d/Cent* )