ディレクトリ内のすべてのファイルの名前を に変更しようとしています$arg[1] + number of file
。
たとえば、次のファイル:
gfdgfdh.jpg
fgdsyugfs.jpg
gfyudsfuds.jpg
sh myscript.sh dog
コマンドラインで行うと次のようになります。
dog0.jpg
dog1.jpg
dog2.jpg
これが私がこれまでに持っているコードですrename
。コマンドラインから1つのファイルでコマンドを試行すると機能するため、正規表現は機能します。
#! /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.