试图将目录中的所有文件重命名为$arg[1] + number of file
.
例如这些文件:
gfdgfdh.jpg
fgdsyugfs.jpg
gfyudsfuds.jpg
当我sh myscript.sh dog
在命令行执行时将变为以下内容:
dog0.jpg
dog1.jpg
dog2.jpg
这是我到目前为止的代码,正则表达式有效,因为如果它从命令行尝试rename
一个文件上的命令,它就有效。
#! /bin/sh
COUNTER=0
PREFIX=$1
for i in *.jpg
do
rename 's/.*[^.jpg]/${PREFIX}${COUNTER}/' $i
COUNTER=COUNTER+1
done
我得到的错误是
Global symbol "$PREFIX" requires explicit package name at (eval 1) line 1.