我有很多文件是文件
DSCN2352.JPG DSCN2356.JPG DSCN2360.JPG DSCN2364.JPG
DSCN2353.JPG DSCN2357.JPG DSCN2361.JPG DSCN2365.JPG
我想重命名这些文件,所以我写了一个脚本
#!/bin/bash
declare -a kl=( "$@" )
kl=$(ls *.JPG)
echo ${kl[@]}
p=0
for i in kl ;
do mv $kl d$p.JPG
$p=$p+1 ;
done
我收到错误
mv: target `d0.JPG' is not a directory
./rename.sh: line 8: 0=0+1: command not found
更新
更新脚本后
#/bin/bash
p=0
for i in *.JPG;
do
mv "$i" "d$p.JPG"
(( p+1 )) ;
done
文件
DSCN2352.JPG DSCN2356.JPG DSCN2360.JPG DSCN2364.JPG
DSCN2353.JPG DSCN2357.JPG DSCN2361.JPG DSCN2365.JPG
消失了 我只留下一个档案 d0.jpg执行更新的脚本后,其余文件将被删除。
答案 0 :(得分:2)
更改
$p=$p+1 ;
到
(( p=p+1 ))
或只是
(( p++ ))
美好的一天。
答案 1 :(得分:0)
p=0
for i in *.JPG
do
mv "$i" d$p.JPG
p=$(($p+1))
done
答案 2 :(得分:0)
你可以这样做:
#!/bin/bash
p=0
for file in ./*.JPG ; do
echo "$file"
mv $file d$p.JPG
p=`expr $p + 1`
done