看下面我写的脚本能满足你需求么
[root@S3 test]# touch 234dsfasd.jpg 234dsfdsaf.jpg 234dsfadsf.jpg 23asdfads.jpg
[root@S3 test]# pwd
/root/test
[root@S3 test]# ll
总用量 8
-rw-r--r-- 1 root root 0 7月 28 11:51 234dsfadsf.jpg
-rw-r--r-- 1 root root 0 7月 28 11:51 234dsfasd.jpg
-rw-r--r-- 1 root root 0 7月 28 11:51 234dsfdsaf.jpg
-rw-r--r-- 1 root root 0 7月 28 11:51 23asdfads.jpg
-rwxr-xr-x 1 root root 259 7月 28 11:50 test.sh
-rw-r--r-- 1 root root 182 7月 28 11:50 test.txt
[root@S3 test]# ./test.sh
[root@S3 test]# ll
总用量 8
-rw-r--r-- 1 root root 0 7月 28 11:51 654194.jpg
-rw-r--r-- 1 root root 0 7月 28 11:51 654195.jpg
-rw-r--r-- 1 root root 0 7月 28 11:51 654196.jpg
-rw-r--r-- 1 root root 0 7月 28 11:51 654197.jpg
-rwxr-xr-x 1 root root 259 7月 28 11:50 test.sh
-rw-r--r-- 1 root root 254 7月 28 11:51 test.txt
备注:
test.sh内容如下:
#!/bin/bash
#ls |grep jpg > test.txt
/bin/ls -l -i |grep jpg > test.txt
sed -i 's/ /|/g' test.txt
for i in `cat test.txt`
do
# echo $i
id=`echo $i | awk -F "|" '{print $1}'`
filename=`echo $i | awk -F "|" '{print $NF}'`
mv $filename $id.jpg
done
文件夹批量重命名