1. 程式人生 > >批量更改檔名及變數的子串

批量更改檔名及變數的子串

方法一:

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