python - 如何将偶数行的数据附加到上面的奇数行?
问题描述
我有一个文件(data.txt),如下所示(包含更多数据)
chr1 11106936 11107192 MTOR
7 6 256 0.0234375
chr1 11106936 11107192 MTOR
8 14 256 0.0546875
chr1 11106936 11107192 MTOR
9 7 256 0.0273438
chr1 11106936 11107192 MTOR
11 1 256 0.0039062
chr1 11106936 11107192 MTOR
13 26 256 0.1015625
chr1 11106936 11107192 MTOR
18 1 256 0.0039062
chr1 11106936 11107192 MTOR
19 11 256 0.0429688
chr1 11106936 11107192 MTOR
20 11 256 0.0429688
chr1 11106936 11107192 MTOR
22 13 256 0.0507812
chr1 11106936 11107192 MTOR
我需要将偶数行号上的数据与上面的奇数行对齐,如下所示
chr1 11106936 11107192 MTOR 7 6 256 0.0234375
chr1 11106936 11107192 MTOR 8 14 256 0.0546875
解决方案
使用 awk:
$ awk '{
sub(/\r$/,"") # just in case, remove windows line-endings
if(NR%2) # every odd record ...
b=$0 # buffer them
else # even records ...
print b $0 # output buffered and current record
}' file
一些输出:
chr1 11106936 11107192 MTOR 7 6 256 0.0234375
chr1 11106936 11107192 MTOR 8 14 256 0.0546875
chr1 11106936 11107192 MTOR 9 7 256 0.0273438