我想打印 file1
的二进制结果是 file2
中的值匹配:
文件1:
a b c d
1 2 9 4
5 6 7 8
4 3 0 1
8 9 6 5
文件2:
x
1
2
3
4
5
6
7
8
预期结果:
a b c d
1 1 0 1
1 1 1 1
1 1 0 1
1 0 1 1
通过将 file2
中的列 x
与所有列 a
、b
、c
进行匹配file1
中的 d
。我想在 Result
文件中打印二进制结果。
最佳答案
这样就可以了:
awk 'FNR==NR{if(NR>1)a[$1];next}FNR>1{for(i=1;i<=NF;i++)$i in a?$i=1:$i=0}1' f2 f1
a b c d
1 1 0 1
1 1 1 1
1 1 0 1
1 0 1 1
f2
和 f1
分别是您的 file2
和 file1
。
关于linux - 匹配多列并打印二进制结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17209634/