0
使用參數和變量時,我有一個腳本錯誤SED在bash腳本
- 需要一個字符串作爲參數
- 使用字符串找到一個TeX的文件
- 在for循環 - 使用SED使取代在並編譯的TeX文件
- 換人包括改變的報頭的名稱(和連接),這也是輸出文件一個唯一的名稱編譯後
的命令是否正常工作,當我活運行它們,但是執行shell腳本是給我下面的錯誤
./batchscript: line 12: syntax error near unexpected token `sed'
./batchscript: line 12: ` sed -i "s|--jobname .*MPa|--jobname ${filename}${i}MPa|g" $CURRENTFILE".tex"'
的腳本如下
DIR=`pwd`
filename=$1
CURRENTFILE=$DIR/$filename
for i in {2,5,8,11}
sed -i "s|--jobname .*MPa|--jobname ${filename}${i}MPa|g" $CURRENTFILE".tex"
sed -i "s|pgfplotstableread{.*MPa.dat}|pgfplotstableread{${i}MPa.dat}|g" $CURRENTFILE".tex"
arara $CURRENTFILE".tex"
done
我嘗試了幾個語法變化。我也環顧四周,看到它可能不得不做一些負責將變量傳遞給sed的shell,它可能不起作用。
用awk或前任何變通辦法也可以爲我工作
您的'for'語句需要'do'。正如在「我在{2,5,8,11}」中那樣; do'。 – Jonesinator
糟糕!經典星期六晚上的語法錯誤。謝謝 –