我想逐行比较我的数据。每个条目都有一个副本,有些条目在某些列中有所不同(以制表符分隔)。作为的一个例子
1 0 chrX 121843122 255 16M
1 0 chrX 79062186 250 16M
2 0 chr3 79062186 255 16M
2 0 chr7 79062186 255 16M
3 0 chr3 166649831 255 16M
3 0 chrX 12345678 255 16M
我想知道这对(基于column1)是否都有chrX,其余的列可能不同。
在上面的例子中,我将只保留(对于两者,第1列相同,第3列为chrX才重要。)
1 0 chrX 121843122 255 16M
1 0 chrX 79062186 250 16M
我想在awk中尝试一下,但它似乎只适用于专栏。如何使用awk或grep实现这一点?
这会比较成对的行,如果相应的field1和field3匹配,则同时打印。
awk '{
prev=$0; f1=$1; f3=$3
getline
if ($1 == f1 && $3 == f3 && $3 == "chrX") {
print prev
print
}
}' filename