多语言展示
当前在线:579今日阅读:26今日分享:39

批量修改文件名称Shell

批量修改文件名称Shell
工具/原料

将现网的mid话单文件,通过cms导入到数据库,发现话单文件名不正确,现在是cmmpmt_s30_imp_mt_t-2013-768.mid,需要将前面的cmmpmt_去掉,才能进行入库。数据文件太多,无法手工完成,因此 写了个简单shell完成批量修改文件名任务。

方法/步骤
1

#!/bin/bash#####################################wrote by ,NeuSoft 07/02/2013####################################if [ $# -lt 1 ]; thenfile_path=”.”elsefile_path=$1 #进行替换的文件目录之畜fifor FULL_NAME in `find $file_path/cmmpmt_*`doNEW_NAME=${FULL_NAME/’cmmpmt_’/”}mv $FULL_NAME $NEW_NAMEdone

2

附录shell 常见字符串操作:表达式含义${#string}$string的长度${string:position}在$string中, 从位置$position开始提取子串${string:position:length}在$string中, 从位置$position开始提取长度为$length的子串${string#substring}从变量$string的开头, 删除最短匹配$substring的子串${string##substring}从变量$string的开头, 删除最长匹配$substring的子串${string%substring}从变量$string的结尾, 删除最短匹配$substring的子串${string%%substring}从变量$string的结尾, 删除最长匹配$substring的子串${string/substring/replacement}使用季泉$replacement, 来代替第一个匹配的$substring${string//substring/replacement}使用$replacement, 代替所有匹配的$substring${string/#substring/replacement}如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring${string/%substring/replacement}如果$string的后扬态离缀匹配$substring, 那么就用$replacement来代替匹配到的$substring

注意事项

shell使用小技巧

推荐信息