重命名服务器cpanel jailshell上的文件

时间:2014-04-11 12:31:56

标签: linux shell unix jail-shell

我尝试重命名服务器上的文件,以从文件名中删除特殊字符(空格,æøå等)。问题是我无法使重命名功能起作用。在我的本地机器上,重命名功能按预期工作

rename 's/[^a-zA-Z\.0-9]*/_/g' *.mp3 

重命名所有文件并删除特殊字符。

但是,在服务器上,上述调用无效。此外,没有错误消息。服务器上的重命名功能没有可用的man-pages,当我尝试

rename --help
call: rename from to files...

...有用的消息“从文件重命名”......

有什么建议吗?服务器上的shell(运行)是某种jailshell,服务器正在运行parallells - stuff和cpanel(如果有帮助的话)......问候

2 个答案:

答案 0 :(得分:0)

创建一个名为renamer.sh的脚本:

dname=$(dirname "$1")
bname=$(basename "$1")
clean=$(tr -dc 'a-zA-Z.0-9' <<< "$bname")
mv "$1" "$dname/$clean"

并使用find

find -type f -name '*.mp3' -exec sh renamer.sh {} \;

答案 1 :(得分:0)

@jonasfh:cpanel jailshell通常安装在centos主机的顶部。 现在你可以从redhat util-linux软件包中查找重命名,这不是通常的perl脚本,你正在尝试使用扩展的正则表达式,只需简单的redhat重命名。

相关问题