我有一个文本文件,其中包含由制表符分隔的几列,如下所示:
1 ATGCCCAGA AS:i:10 XS:i:10
2 ATGCTTGA AS:i:10 XS:i:5
3 ATGGGGGA AS:i:10 XS:i:1
4 ATCCCCGA AS:i:20 XS:i:20
我现在想要比较最后两列 AS:i:(n1) 和 XS:i:(n2) 以仅获取 n1 与 n2 不同的行。所以,我想要的输出是:
2 ATGCTTGA AS:i:10 XS:i:5
3 ATGGGGGA AS:i:10 XS:i:1
你能建议我一些比较 n1 和 n2 并打印输出的方法吗?提前致谢。
最佳答案
正如 Shawn 所说,您可以使用 awk...或 perl...或 sed 来完成此操作。
AWK 示例可能是
awk '{split($3,a,":");split($4,b,":");if(a[3]!=b[3]) print $0}' infile.txt
如果您熟悉 awk,这应该是相当不言自明的
关于linux - 在 Linux 中比较文本文件中两列的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59027111/