linux如何批量重命名文件?

一个目录下面有
abcd1234.jar
abcd2345.jar
abcd7472.jar
abcd2843.jar


jar包以abcd开头,.jar结尾
想要批量将所有的jar后面填上日期比如abd1234.jar20200910
这个linux中要怎么敲命令?

阅读 3.1k
4 个回答
rename .jar .jar20200910 abcd*.jar
for filename in $dir/*.jar
do 
    echo $filename
done
for jar in abcd*.jar; do  
mv -- "$jar" "$jar"20200910  
done
>$ ll
total 0
-rw-r--r--  1 fei  staff     0B  9 16 09:15 01.tar
-rw-r--r--  1 fei  staff     0B  9 16 09:15 02.tar
-rw-r--r--  1 fei  staff     0B  9 16 09:15 03.tar
-rw-r--r--  1 fei  staff     0B  9 16 09:15 04.tar
-rw-r--r--  1 fei  staff     0B  9 16 09:15 05.tar
-rw-r--r--  1 fei  staff     0B  9 16 09:15 06.tar
-rw-r--r--  1 fei  staff     0B  9 16 09:15 07.tar
-rw-r--r--  1 fei  staff     0B  9 16 09:15 08.tar
>$ ls | awk '{print $NF}' | xargs -I {} mv {} pre_{}_tail
>$ ll
total 0
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_01.tar_tail
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_02.tar_tail
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_03.tar_tail
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_04.tar_tail
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_05.tar_tail
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_06.tar_tail
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_07.tar_tail
-rw-r--r--  1 fei  staff     0B  9 16 09:15 pre_08.tar_tail
推荐问题