小编Q Q*_*Q Q的帖子

在 sed 中反向匹配,替换找到的相反内容

假设我的系统日志有这个输出,

precalculated src_hash => 20 bytes @ 0x7f811c001e20
A6 2D E5 CD 2A BA F0 42 56 66 19 D4 61 1A E3 A0  .-..*..BVf..a...
C7 5E 5F 77                                      .^_w
precalculated dst_hash => 20 bytes @ 0x7f811c0020d0
15 EC 34 59 89 0F 4F F8 C5 68 3A DC BB 09 27 91  ..4Y..O..h:...'.
5D C1 E7 28                                      ]..(
Run Code Online (Sandbox Code Playgroud)

我的目标是去掉右边的 ASCII 垃圾,只留下哈希的十六进制字节,同时仍然保存以变量名称开头的行。我使用的正则表达式是

(^([a-zA-Z_]+\s+)+[=]{1}) | (^([a-zA-Z0-9]{2}[\s]{1})+)
Run Code Online (Sandbox Code Playgroud)

它正确匹配以变量名称或包含其值的十六进制字符串开头的行。有什么方法可以反转从 sed 匹配的内容以去除流中的“其他”内容?它可以以某种方式通过管道传输到文件吗?

grep sed regular-expression

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

grep ×1

regular-expression ×1

sed ×1