【发布时间】:2014-11-26 07:37:15
【问题描述】:
我有多个以 error_* 开头的文件,我想重命名所有具有特定名称的文件。我正在使用以下脚本来执行此操作,但它不起作用。
counter=1
for i in `ls error*`
do
mv $i ABC$counter_$i
$(( counter++ ))
done
我要重命名的示例文件
error_CO_5010wgs837in.10
error_CO_coprofo.7
我想在重命名每个文件时使用计数器值,如果我不使用计数器,它可以正常工作。但我想知道为什么上面的脚本不起作用。这是我的脚本给出的输出:
ABCerror_CO_5010wgs837in.10
ABCerror_CO_coprofo.7
我期待的输出如下:
ABC1_error_CO_5010wgs837in.10
ABC2_error_CO_coprofo.7
【问题讨论】:
-
$(( counter++ )):dollar不需要。 -
是的,没有美元也试过了,但不是预期的结果。
-
可能你的
shell不支持((VAR++))语法