一、實戰
在當前目錄中,需要重新命名所有檔案,格式為 school1, school2 ……等
#!/bin/bash
echo hello;
a=1;for i in *;
do echo $i;
mv $i
"school$a
";a=$(($a+1)); #
a =`expr $a+1` 貌似行不通,要加空格!! #a =`expr $a + 1`
done
二、小練習
批量重新命名一些檔案,這些檔案有共同特徵,比如具有相同的字母,或者沒有共同特徵,想統一重新命名,修改它們相同位置上的字元等等。
1、我想把它們的名字的第乙個1個字母變為"q",其它的不變
for i in `ls`; do mv -f $i `echo $i | sed 's/^./q/'`; done
或者寫個指令碼,顯得更加清晰:
for file in `ls`
donewfile =`echo $i | sed 's/^./q/'`
mv $file $newfile
done
2、修改前面5個字母為zhaozh
for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done
3、修改後面5個字母為snail
for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done
4、在前面新增 _hoho_
for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done
5、所有的小寫字母變大寫字母
for i in `ls`; do mv -f $i `echo $i | tr a-z a-z`; done
舉了5個例子,說到底就是用「for 迴圈 + 組合命令處理」的思路來實現檔案批量重新命名滴。
Shell批量重新命名檔名
shell批量重新命名檔名 shell批量重新命名檔名 bin sh 替換檔名中的空格 find name while read name do na echo name tr mv name na done 將檔名替換成1 2 3 4 5 6等檔名,字尾名保持不變 例如test.log 1.log...
Linux批量重新命名
linux批量重新命名檔案會涉及到改變乙個字母 改變一些相連字母 改變某些位置的字母 在最前面加上某些字母 或者改變字母的大小寫。完成這裡五個方法基本上就會解決了linux批量重新命名的工作。1 我想把它們的名字的第乙個1個字母變為 q 其它的不變 root pps mailqueue for i ...
python批量重新命名
coding utf8 import os def rename i 0path f test filelist os.listdir path 該資料夾下所有的檔案 包括資料夾 for files in filelist 遍歷所有檔案 i i 1 olddir os.path.join path,...