Shell命令以重命名文件?内部名称

Shell命令以重命名文件?内部名称,shell,rename,Shell,Rename,环境:壳牌公司CentOS 我在一个目录下有几个文件,名字如下 B?orn.txt F?ord.xml etc 如何查找/重命名包含?的目录下的所有文件,并在文件名中删除此?,使所有文件类似: Born.txt Ford.xml etc 如果安装了renameutillity,只需使用该命令: $ rename -n 's/\?//' dir/* dir/f?ile renamed as dir/file dir/f?ile2 renamed as dir/file2 dir/f?ile3

环境:壳牌公司CentOS

我在一个目录下有几个文件,名字如下

B?orn.txt
F?ord.xml
etc
如何查找/重命名包含
的目录下的所有文件,并在文件名中删除此
,使所有文件类似:

Born.txt
Ford.xml
etc

如果安装了
rename
utillity,只需使用该命令:

$ rename -n 's/\?//' dir/*
dir/f?ile renamed as dir/file
dir/f?ile2 renamed as dir/file2
dir/f?ile3 renamed as dir/file3

-n
标志用于检查实用程序将执行的操作,删除它以进行重命名。

重命名实用程序已安装,因为重命名-v在shell中回答“调用:从重命名为文件…”-但是当我尝试重命名-n's/\?/'/var/www/html/dba/*-什么都没有发生…看起来你有一个不同的版本,有不同的语法。好吧…怎么做才能有一个“正确的版本”和“正确的语法”?@Serge rename只是一个小的perl脚本,在这里:,使它可执行。当然必须安装perl。@非常感谢-我刚刚复制了这个脚本,并像/var/www/html/rename-n's/\?/'/var/www/html/dba/*-一样运行它-一切正常!祝您有个美好的一天!