我在bash脚本中使用以下Perl语法:
perl -i –pe 'next if /^ *#/; s/(\b|\D)$ENV{OLD }(\b|\D)/$1$ENV{NEW }$2/' file
我想找到文件中没有第一个“#”字符的旧单词,然后用新单词替换旧单词
我的问题:我想打印“用$ NEW替换$ OLD”每次perl用$ NEW替换$ OLD
以哪种方式?我们可以插入命令:print“用$ NEW替换$ OLD”;在Perl语法中?
请注意perl one-liner语法是我的bash脚本的一部分
答案 0 :(得分:2)
perl -i –pe 'next if /^ *#/; s/(\b|\D)$ENV{OLD }(\b|\D)/$1$ENV{NEW }$2/ && warn "replaced $OLD with $NEW\n"' file
答案 1 :(得分:1)
perl -i -pe'next if / ^ *#/; s /(\ b | \ D)$ ENV {OLD}(\ b | \ D)/ $ 1 $ ENV {NEW } $ 2 /&& print STDERR“用$替换了$ OLD $ NEW \ n“'file