是否有一种方法可以使用perl来更改标记的实例
<english>
加入<voice required="name = VW Julie">
<español>
加入<voice required="name = IVONA 2 Penélope">
用于同一目录中的所有文档。
这适用于textaloud,因此当语言改变时,计算机会更改为其他语音
我可以用grep来做,但总是很无聊。如果我只双击脚本会更好。 但我不知道该怎么做,任何帮助都是好的。感谢
答案 0 :(得分:1)
这应该适用于Windows,
script.pl
use utf8;
BEGIN { @ARGV = glob("@ARGV\\*"); }
s/<english>/<voice required="name = VW Julie">/g;
s/<español>/<voice required="name = IVONA 2 Penélope">/g;
perl -i~ -p script.pl C:\Path\to\files
答案 1 :(得分:0)
你可以这样做:
$ cd /PATH/TO/DIRECTORY
$ perl -i -pe -Mutf8 's/<english>/<voice required="name = VW Julie">/g' *
$ perl -i -pe -Mutf8 's/<español>/<voice required="name = IVONA 2 Penélope">/g' *
答案 2 :(得分:0)
以下Unix shell命令应该这样做:
perl -Mutf8 -pie 's/\<english\>/<voice required="name = VW Julie">/g; s/\<español\>/<voice required="name = IVONA 2 Penélope">/g' DIRECTORY/*
-e
选项告诉perl在下一个参数中运行命令。 -p
告诉它在每个输入行的循环中运行命令,在命令后打印$_
。 -i
选项告诉它用输出替换输入文件。
我认为这也适用于Windows命令提示符,但我从未在Windows上使用过Perl。