大家好,又见面了,我是你们的朋友全栈君。
https://blog.csdn.net/weixin_33724570/article/details/91909917
https://blog.csdn.net/csdnnews/article/details/87927567
https://blog.csdn.net/weixin_34329187/article/details/93004715
https://blog.csdn.net/SenPaul/article/details/80974760 –python
https://www.cnblogs.com/EasonJim/p/8315939.html –for循环例子
https://blog.csdn.net/w849593893/article/details/82587695 –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.cn/195301.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有