私のプログラムは、最初のパラメーターを拡張子として受け取り、残りのパラメーターを検索するファイルとして受け取り、見つかった場合は拡張子によって変更するように設計されています。見つからない場合は、エラーを出力します。
./chExt.sh'com''kingcobra.dat'まですべてが素晴らしい
ここで、$fileは2つの単語を「king」と「cobra.dat」に分割してから別々に実行します。'kingcobra.dat'全体を$fileに読み込むために必要です。
「shift」を使って全体を読ませることについて何か聞いたことがありますが、どのように実装すればよいかわかりません。
#!/bin/csh \
set ext="$1"
shift
echo the remaining are $*
foreach file ($*)
echo $file
if (-r "$file") then
set newName=`echo "$file" | sed 's/\.[A-Za-z0-9]*$/'".$ext"'/g'`
echo $newName
if ( "$file" == "$newName" ) then
:
else
mv "$file" "$newName"
endif
end
else
echo "$file": No such file
end
endif
ありがとう!