前言

例如:在工作中经常会遇到要在linux系统下,批量修改目录里文件名的需求,很多人习惯一个文件一个文件的修改,这里就是帮忙解决批量修改文件名的问题,也提醒大家遇到问题多搜一搜解决办法

提示:下面案例可供参考

一、操作命令

示例:

for name in `ls *`;do mv  $name GS53YNCKTX2020${name#*GS53YNCKTX2020};done

for name in `ls *CHECK*`;do  mv $name  ${name%.CHECK*};done

以上两个命令就是批量修改文件名的,下面给大家介绍一下

二、详解

假设有变量 var=http://www.google.com/test.htm

1、 # 号截取,删除左边字符,保留右边字符。

echo ${var#//}
其中 var 是变量名,# 号是运算符,
// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.google.com/test.htm

2、 ## 号截取,删除左边字符,保留右边字符。

echo ${var##/}
##
/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.google.com/
结果是 test.htm

3、 %号截取,删除右边字符,保留左边字符

echo ${var%/}
%/
表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.google.com

4、 %% 号截取,删除右边字符,保留左边字符

echo ${var%%/}
%%/
表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:


关注Github:1/2极客

关注博客:御前提笔小书童

关注网站:开发者的花花世界

关注公众号:开发者的花花世界

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐