我有一个十列的数据列表,如下所示。它有几千行。
$1 $2 $3 $4 $5 $6 $7 $8 $9 $10
| 8455 105@O13 | 8132 101@H13 8131 101@O13 | 68.43
| 7490 93@O16 | 8868 110@H16 8867 110@O16 | 68.30
| 7561 94@O12 | 9185 114@H13 9184 114@O13 | 66.83
| 8776 109@O12 | 7481 93@H12 7480 93@O12 | 65.55
| 8867 110@O16 | 8432 105@H23 8431 105@O23 | 64.48
| 9832 122@O13 | 6357 79@H16 6356 79@O16 | 64.44
| 9194 114@O15 | 5699 71@H12 5698 71@O12 | 64.06
| 8849 110@O25 | 5780 72@H12 5779 72@O12 | 63.99
我想从 $3 列和 $6 列中选择与某些特殊表达式匹配的行。我想用作正则表达式的条件是“两列中“@”符号前的数字相同”。如果匹配此条件,则我想将这些行打印到新文件中。
我在 awk 中尝试过类似的东西
awk '$3~/[1@]/ {print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10}' hhHB_inSameLayer_065_128-maltoLyo12per.tbl
但它没有给我想要的。
如果有人可以在这方面提供帮助,我很感激。
注意:如果我在 perl 或 python 中获得一些帮助,也将不胜感激。
提前谢谢了。