2011-11-20 60 views
0
perl -pi -e 's|\x20|; s|\x90|' log.bin 

给了我这个错误错误在Perl ONELINE命令

Backslash found where operator expected at -e line 1, near "s|\x20|; s|\" 
syntax error at -e line 1, near "s|\x20|; s|\" 
Execution of -e aborted due to compilation errors. 

我在做什么错?打算用0x20到0x90替换所有字节的行...

回答

4

你有2个半报表,而不是一个完整的一个。你可能寻找

perl -pi -e 's|\x20|\x90|g' log.bin 
+0

正好!谢谢 – Pablo

1

您在该命令中有两个未完成的替换,您说替换为\x20而没有指定应该替换的内容,然后分别说替换\x90再次省略替换。这是一个语法错误。

正确的语法是

s|\x20|\x90|g ; 
1

你格式化的指挥错误。试试这个:

s|\x20|\x90|g; 

的G表示全球和格式是必要的命令