shell批量重新命名

2021-09-06 04:36:39 字數 1211 閱讀 4506

一、實戰

在當前目錄中,需要重新命名所有檔案,格式為 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,...