我需要用 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