我想在Linux中屏蔽文件中的位,如下所示:
actual : 00-00000000-00000011-00110010-10000000
expect : 00-00000000-00000001-01101010-00000000
error : 00-00000000-00000010-01011000-00000000
在输出中,actual
部分应该保持原样,除非error
是1
,那么actual
位应该用X
进行掩码
如图所示,error
是actual
和expected
数据的XOR.
输出应如下所示:
output : 00-00000000-000000X1-0X1XX010-10000000
有没有使用SED、AWK等命令来实现这一点的方法?
What is done so far:个
grep 'err' gpbat | sed 's?-??g' | cut -c 11-35 | sed 's?1?X?g' > a1
grep 'act' gpbat | sed 's?-??g' | cut -c 11- > a2
但从这里开始,我不知道如何合并a1
和a2