在shell脚本中重命名文件

时间:2012-08-10 21:46:03

标签: bash shell

我需要在目录中找到“ abc.111 ”形式的文件,并在我的shell脚本中将它们重命名为“ abc.222 ”。模式替换以某种方式失败。我在这里缺少什么?

#!/bin/sh

find . -name \*abc\* | while read FILES
do
        newfile =  ${FILES/111/222} #Replace 111 by 222
        mv $FILES $newfile
done

错误:/temp.sh:错误替换

1 个答案:

答案 0 :(得分:2)

您的/bin/sh不支持${var//}替换。尝试其他shell,例如/bin/bash

修复后,您会发现空格不起作用。

newfile =  ${FILES/111/222}

您必须在=的任意一侧写下此行而不留空格。