如何在模式前切割十六进制

时间:2014-06-09 17:04:59

标签: linux unix sed hex cut

DEA98C18 C56E53AB 46E715A9 03C8AC9E 01E6A760 3B8C3E77 5F60DF29 719F0E71 7BA656EE 8500D7FA D8FED2FE B4C8C527 F0CD50B1 2AA200DD 0F07E4B1 54C73A4B 5C0AB6FF 54F3A4CE 72272FE6 111EECFD 719F0E71 7BA656EE 8500D7FA

我有一个非常长的HEX文件,就像上面的模式一样,现在我需要剪切每7个HEX之前的模式“719F0E71 7BA656EE 8500D7FA”

所以输出看起来像

719F0E71 7BA656EE 8500D7FA D8FED2FE B4C8C527 F0CD50B1 719F0E71 7BA656EE 8500D7FA

我不知道如何以正确的方式提出这个问题我的母语不是英语

1 个答案:

答案 0 :(得分:5)

sed命令

sed -r 's/([0-9A-F]{8} ){7}(719F0E71 7BA656EE 8500D7FA)/\2/g' hex_file

找到

  • 重复七次{7}
    • 八个{8}重复的十六进制字符[0-9A-F]
    • 后跟空格
  • 后跟模式719F0E71 7BA656EE 8500D7FA

...然后用第二个匹配的组\2替换它,这是您正在寻找的模式。