Perl - 从目录中的文件名中删除双引号

时间:2017-04-01 01:47:57

标签: perl

我试图找到用perl从目录中的所有文件中删除双引号的最佳方法。我知道我可以通过“重命名”来实现这一目标。 "" *&#39 ;.但是当我在perl脚本中有这个时,perl总是抱怨双引号没有关闭。我该如何解决它?

我试图在我的perl脚本rename \" "" *内用反引号调用它但是这给了我bash错误:'意外的EOF,同时寻找匹配的`"'

我的情况。我的目录中的文件名为123." ABC" .xyz。我想用perl脚本重命名它们,理想情况下使用rename命令。

谢谢,

1 个答案:

答案 0 :(得分:2)

  

我该如何解决?

不需要解决问题;你只需要修复你的bug。要从字符串中删除删除双引号("),您可以使用以下内容:

$string =~ s/"//g;
  

我试图在我的perl脚本中使用反引号调用它rename \" "" *

你做了

`rename \" "" *`    # Produces the string <<rename " "" *>> and executes it.

何时应该使用

`rename \\" "" *`   # Produces the string <<rename \" "" *>> and executes it.