2015-07-02 49 views
0

假設我有一個標準輸出輸出是這樣的:在十六進制字節猛砸格式化輸出

e28f6001 
e12fff16 
2210 
4679 
df01 
6c656873 

我怎麼能管這在bash,所以我可以追加\x每個字節。我想要的輸出是這樣的:

\xe2\x8f\x60\x01\xe1\x2f\xff\x16\x22\x10 ... 
+3

'sed -e's /../ \\ x&/ g''雖然不會加入這些行。 –

+2

像往常一樣,你嘗試過什麼? –

+3

'sed -r's /([a-fA-F0-9] {2})/ \\ x \ 1/g'file | tr -d'\ n'' – anubhava

回答

1
tr -d '\n' < File | sed 's/.\{2\}/\\x&/g' 

刪除換行符第一。然後將每2個字符(.\{2\})替換爲\x,然後再替換2個字符(& =>匹配的模式,即2個字符)。

+0

Y downvote?...我可以知道原因嗎? –

+0

謝謝!我沒有downvote btw –

+0

當你的答案(你已經在5分鐘窗口內編輯過)包含一行代碼而沒有解釋時,你可能會選擇downvote。 –