2013-02-22 61 views
0

我想獲取參數替換工作在我的bash腳本中...我知道我已經得到了這一切錯誤...我試圖創建一個腳本,將重命名文件的一部分。Bash腳本 - 需要幫助獲得匹配和替換工作

#!/bin/bash 
for i in *.hpp; do mv -v "$3 ${$3/$1/$2}" ; done 

我得到的錯誤是:

line 2: $3 ${$3/$1/$2}: bad substitution 
+1

你完全不清楚你想要應用於每個文件名的轉換。編輯您的帖子以包含「之前」和「之後」文件名的示例(或幾個示例)。 – 2013-02-22 02:41:22

+0

而'i'變量永遠不會被調用! – 2013-02-22 02:41:54

+0

麪包屑...它應該是 我在* .hpp;做mv -v「$ i $ {i/$ 1/$ 2}」;做 – Xofo 2013-02-22 02:50:41

回答

1

${$3}將嘗試進行插值${"CONTENTS OF $3"}到一個變量。這更可能是你想要${3}。更有可能你想要${i}

+0

是的......我看到......我的一系列錯誤......。謝謝。 – Xofo 2013-02-22 02:57:25

+0

@Xofo如果你已經安裝了'rename',你可以使用'rename's/ABC/CDG /'* .hpp' – 2013-02-22 03:02:29

+0

重命名有不同的實現,請注意。這是爲perl one – 2013-02-22 03:08:44