2011-06-01 169 views
2

我有一个包含一些像这样的文件追加文件:在过去的前追加0x使用sed命令

0x0a ,0x63 ,0x31 ,0x38 ,30 
0x6b ,0x5f ,0x6c ,0x69 ,6d 
0x0a ,0x63 ,0x31 ,0x38 ,30 
0x6b ,0x5f ,0x6c ,0x69 ,6d 
0x69 ,0x74 ,0a 

我想要做的是使用sed(或不同的命令)每行的十六进制数以及每行结尾的逗号,。也就是说,上面的代码片段,我想的是:

0x0a ,0x63 ,0x31 ,0x38 ,0x30, 
0x6b ,0x5f ,0x6c ,0x69 ,0x6d, 
0x0a ,0x63 ,0x31 ,0x38 ,0x30, 
0x6b ,0x5f ,0x6c ,0x69 ,0x6d, 
0x69 ,0x74 ,0x0a, 

我想,直到检测到一个空行更换,从文件的开头开始。

在此先感谢您的帮助。

+0

@Anders Abel:你说得对,我会尽力改善这一点。 – limp 2011-06-01 13:38:55

回答

1
cat somefile | sed 's/,\([0-9a-f]*\)$/,0x\1,/' 
+0

太棒了!非常感谢! – limp 2011-06-01 13:38:15