Reputation: 33
This works
Perl -pi.bak -e "s/\\t/\t/g;" one.xml
But this doesnt work for all xmls in the folder
Perl -pi.bak -e "s/\\t/\t/g;" *.xml
Keep getting error cannot open *.xml
Have tried all sorts of things and recognise the *
as a wildcard
Upvotes: 2
Views: 91
Reputation: 35198
Unfortunately, windows cmd does not have the same power to expand wildcards as unix shells.
You can work around this though, by telling perl that you want to expand @ARGV
using a glob
perl -i.bak -pe "BEGIN {@ARGV = map glob, @ARGV} s/\\t/\t/g;" *.xml
Upvotes: 1
Reputation: 18228
You are seeing the cannot open *.xml
because, unlike Unix shells, the Windows CMD shell does not expand wild cards.
If you want to stay with cmd
, you can form a for
loop over files or you could switch to something more powerful like PowerShell and try this (untested): Perl -pi.bak -e "s/\\t/\t/g;" (Get-ChildItem *.xml | % { "$_" })
.
Upvotes: 2