2015-07-02 52 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。 –