我的程序旨在将第一个参数作为扩展名,然后将其余参数作为要搜索的文件,如果找到,则由扩展名修改。如果未找到,则打印错误。
一切都很好,直到:./chExt.sh 'com' 'king cobra.dat'
其中 $file 将这两个词分成 'king' 和 'cobra.dat' 然后分别运行它们。我需要将它作为一个整体读入 $file 中的“king cobra.dat”。
我听说过一些关于使用“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
谢谢!