2011-11-20 79 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表示全球和格式是必要的命令