我在Suse 10系统中有像 a_dbg.txt,b_dbg.txt ...
这样的文件。 我想编写一个bash shell脚本,以通过从文件名中移除“_dbg”来重命名这些文件。
Google建议我使用rename
命令。 因此,我在CURRENT_FOLDER
上执行了命令rename _dbg.txt .txt *dbg*
。
我的实际CURRENT_FOLDER
包含以下文件。
CURRENT_FOLDER/a_dbg.txt
CURRENT_FOLDER/b_dbg.txt
CURRENT_FOLDER/XX/c_dbg.txt
CURRENT_FOLDER/YY/d_dbg.txt
执行rename
命令后,
CURRENT_FOLDER/a.txt
CURRENT_FOLDER/b.txt
CURRENT_FOLDER/XX/c_dbg.txt
CURRENT_FOLDER/YY/d_dbg.txt
这个命令不会递归地执行,如何使其可以重命名所有子目录中的文件。就像XX
和YY
一样,我将拥有许多名称不可预测的子目录。而且我的CURRENT_FOLDER
中还有其他文件。
Bareword "..." not allowed while "strict subs" in use at (eval 1) line 1.
的错误信息。 - Albert Hendriks