这有效
Perl -pi.bak -e "s/\\t/\t/g;" one.xml
但是这对文件夹
中的所有xml都不起作用Perl -pi.bak -e "s/\\t/\t/g;" *.xml
不断收到错误cannot open *.xml
尝试了各种各样的事情并将*
识别为通配符
答案 0 :(得分:2)
您正在看cannot open *.xml
,因为与Unix shell不同,Windows CMD shell不会扩展通配符。
如果你想留在cmd
,你可以形成一个for
loop over files,或者你可以切换到像PowerShell这样更强大的东西,试试这个(未经测试):Perl -pi.bak -e "s/\\t/\t/g;" (Get-ChildItem *.xml | % { "$_" })
。
答案 1 :(得分:1)
不幸的是,windows cmd没有像unix shell那样扩展通配符的能力。
你可以解决这个问题,告诉perl你要使用glob
展开@ARGV
perl -i.bak -pe "BEGIN {@ARGV = map glob, @ARGV} s/\\t/\t/g;" *.xml