使用带有变量的递归重命名文件名

时间:2016-01-13 12:09:10

标签: sed mv

我的文件夹(git)中的文件标题如下

 OrderReturnPartial_EN_${et.mode}.html

如何重命名dir(和内部文件夹)中的所有文件

OrderReturnPartial_EN_${et.mode}.html
OrderReturnPartial_EN_my_mode.html

我的尝试就像这样

在乞讨中有一个var

read newmode
default="et.mode"

find /tmp/$newmode -name "*et.mode*" -print | while read FNAME;
do
mv "$FNAME" "${FNAME//$default/$newmode}";
done

我也试过

sed -i 's/{et.mode}/$newmode/g' $FNAME

不起作用

1 个答案:

答案 0 :(得分:1)

如果要替换${et.mode},请使用完整字符串作为变量值:

default='${et.mode}'
f='OrderReturnPartial_EN_${et.mode}.html'
echo "${f//$default/my_mode}"