Perl 用文件名替换文件内的字符串?

Perl 用文件名替换文件内的字符串?

我需要用 JSON 文件的文件名替换其中的字符串。我使用下面的正则表达式成功匹配了要替换的字符串,但我不知道如何获取要替换字符串的文件名。

注意:这是 Hazel 应用程序内部规则中使用的脚本。该应用程序告诉我使用“$1”引用脚本中正在处理的文件。那么如何在下面的查找和替换函数中插入文件 $1 的文件名?

perl -pi -e 's/((?<=text": ")\S*(?="))/FILENAME/g' PATH-TO-FILE

答案1

当前文件的名称是$ARGV

perl -pi -e 's/((?<=text": ")\S*(?="))/$ARGV/g' PATH-TO-FILE 

http://perldoc.perl.org/perlvar.html#Variables-related-to-filehandles

相关内容