https://blog.csdn.net/weixin_/article/details/
https://blog.csdn.net/csdnnews/article/details/
https://blog.csdn.net/weixin_/article/details/
https://blog.csdn.net/SenPaul/article/details/ –python
https://www.cnblogs.com/EasonJim/p/8315939.html –for循环例子
https://blog.csdn.net/w/article/details/ –rename使用方法
1、for的字符串循环
for var in *.sql; do mv "$var" "LG10.${var%.sql}_efg.sql"; done
在循环体里,我们使用 mv 命令进行重命名。这里我们使用 ${var%.sql} 这种字符串处理方式,表示从var尾部开始删除与 .sql 匹配的最小部分,并返回剩余部分。之后,再在中间加上 _efg 后缀,也可以加上前缀“LG10.”。
2、rename重命名(推荐)
rename ‘s/\.bak$//‘ *.bak –把.bak去掉
rename ‘s/\.jpe$/\.jpg/’ *.jpe
rename ‘y/A-Z/a-z/’ * –把大写换成小写
3、以下方法适用于 添加后缀
find . -name “*.sql”|xargs -i mv {} {}.txt
find -name “*sql” -exec mv {} {}.txt \;
find ./*.txt -exec mv {} {}_bak \;
4、sed结合for方式:把文件中的test改为true,这种其实用rename更简单
#!/bin/bash for file in ` ls *.txt ` do mv "$file" ` echo $file|sed 's#test#true#g' ` done
5、修改任意目录下的任意后缀(交互式)
#!/bin/bash read -p "old extension:" oldext read -p "new extension:" newext read -p "The directory:" dir cd $dir for file in $(ls $dir | grep .$oldext) do name=$(ls $file | cut -d. -f1) mv $file ${name}.$newext echo "$name.$oldext ====> $name.$newext" done echo "all files has been modified."
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220099.html原文链接:https://javaforall.net
