Linux 批量复制并重命名 和 批量复制文件到多个文件夹

时间:2022-09-24 12:27:19

先说linux下批量复制并重命名,其实就是个for循环

以txt文件为例

命令行打入(F为变量名,可任意)

for F in *.txt ; do cp $F ${F%.txt}_1.txt;done

其中${F%.txt}_1.txt的意思是把F中得.txt去掉后加上_1.txt

想要每步骤都显示出来,在cp后面加上-vf 

如果这么写,就是批量改后缀,把txt改成ini后缀

for F in *.txt ; do mv $F ${F%.txt}.ini ;done

想要每步骤都显示出来,在mv后面加上-vf

 

扩展思维,一般排序都是首字符,所以想在文件名前面添加字符kk可以这么写

for F in *.txt ; do cp -vf $F (kk可为任意字符)kk$F ;done

 

再说

linux下批量复制文件到多个文件夹

mkdir建以1,2,3,4,5个文件夹名

把所有ini后缀的文件拷贝到12345文件夹得集合F中,命令如下

for F in 1 2 3 4 5 ;do cp *.ini $F ;done

想要每步骤都显示出来,在cp后面加上-vf

for F in 1 2 3 4 5;do cp -vf *.ini $F ;done

 

注意事项,所有命令如果遇到重名,会把以前得文件替换掉,慎重!慎重!

 

 

批量复制文件并改成有顺序的文件名

写shell脚本

i=0
F=a

while [ $i -le 10 ]
do
   cp -vf 00.ts $F$i.ts
   let i+=1
done

其中00.ts为源文件,批量复制10个