批量更改文件名及变量的子串

方法一:

rename 

rename from to file...

rename 要更改的名称 更改为的名称 要更改的文件

例如:将当前目录里以 .SH结尾的文件 ->以.sh结尾

image.png


方法二:将当前目录里以 .sh结尾的文件 ->以.sh-bak结尾

image.png


方法三:将当前目录里以 .sh-bak结尾的文件 ->以.sh结尾(用脚本实现)

基础知识铺垫 变量子串

${#string} 返回$string的长度
${string:position} 在$string中,从位置$position之后开始提取子串
${string:position:length} 在$string中,从位置$position之后开始提取长度为$length的子串
${string#substring} 从变量$string开头开始删除匹配$substring子串
${string%substring} 从变量$string结尾开始删除匹配$substring子串
${string/substring/replace} 使用$replace,来代替匹配到的$substring
${string/#substring/replace}
${string/%substring/replace}

image.png

#!/bin/bash
#

for i in `ls` ; do
  mv $i `echo ${i%-bak}`
done

image.png

image.png

猜你喜欢

转载自blog.51cto.com/11193863/2330214