在单个.txt文件中连接2列,并使用awk分隔“:”?

时间:2016-01-13 19:46:15

标签: bash awk

我有一个~40万行标签分隔的.txt文件,其中包含以下列:

1   rs58108123  10583
1   rs58108140  10611
1   rs58123442  13302
...

我需要将第1列和第3列合并到第1列中的单个列中。这是所需的输出:

1:10583 rs58108123
1:10611 rs58108140
1:13302 rs58123442
...

据我所知,这可以使用awk命令完成。我对命令行很新,所以我无法弄清楚完成这项任务所需的规范。如果您能提供解释以配合任何可能的解决方案,我们将不胜感激!

非常感谢!!

1 个答案:

答案 0 :(得分:3)

你走了:

function GameItem (image, x, y, width, height) {
    this.image = image;
    this.x = x;
    this.y = y;
    this.width = width;
    this.height = height;
}

var spriteImage = new Image();
spriteImage.src = "ballon.png";
sprite = new GameItem(spriteImage, 450, 20, spriteImage.width, spriteImage.height);

// etc.

// collision method now works between two of these objects:
collision(sprite, bola);

这将打印第1列:第3列,然后是制表符#34; \ t"然后列$ 2。

您可以通过在命令末尾添加awk '{print $1":"$3"\t"$2}' < infile.txt 来将输出保存到文件中。

您可以在此处找到更多简单awk语法的示例:http://www.thegeekstuff.com/2010/01/awk-introduction-tutorial-7-awk-print-examples/