瀏覽單個文章
fy6877
Amateur Member
 

加入日期: Dec 2008
文章: 37
[難題]跑shell script批量更動文件的部分檔名有問題

http://serverfault.com/questions/22...rd-in-file-name

這個老外的例子很好,也正是我要的
但是我的原始檔名/後改字串等等是取自shell script中的其他的變數(ex $name)
而且該變數中會有很多的unicode以及特殊字符 (ex [♫2011♫])

目前設想最簡單的方式就是用rename.ul變數去更名
但是用了很多方法跑完script都不起效果任何效果,
我有用echo去double check我下的指令應該沒錯
我也不知道這樣debug正不正規但同樣的狀況我直接用putty下command line卻沒問題
有點懷疑是不是rename.ul不能在shell script下拿來用~.~
代碼:
echo "rename.ul '$name' '$newname' /home/fy6877/test/final/*"

希望達人能給一條明路讓我能夠完整利用'$name' '$newname'這兩個全域變數來做更動檔名的動作
下面是我曾經用過的組合,都是用script去跑沒作用
代碼:
rename.ul '$name' '$newname' /home/fy6877/test/final/* 
ls /home/fy6877/test/final/|xargs -I$ rename.ul '$name' '$newname' $


BTW,我的目標都只修改檔名中的部分字串不是更動含副檔名的完整檔名
for example
代碼:
[EAC]00XX♫.rar.001-------->A.001
($name=[EAC]00XX♫.rar;$newname=A)
     
      
舊 2012-09-29, 09:45 PM #1
回應時引用此文章
fy6877離線中