如何使用shell脚本将两列分成数组

时间:2015-02-19 05:46:41

标签: linux bash perl shell

这是我目前使用的样本数据集:

ID       Name     command     xxx   xxxxx    xxxxx   xxxx   xxxxx
5474558  abcd     run         xxx   xxxxx    xxxxx   xxxx   xxxxx
8487848  xyze     bash        xxx   xxxxx    xxxxx   xxxx   xxxxx

ID和名称8空格之间的距离。

我需要将ID和Name放入两个单独的数组中。

我需要的示例输出是:

id=[5474558,8487848]
name=[abcd,xyze]

使用shell脚本我该怎么做?

2 个答案:

答案 0 :(得分:0)

尝试此命令它将打印IDS并命名这只是一个提示。

ID&#39>

awk '{if (NR !=1 ) printf $1}' data.txt 

对于姓名

awk '{if (NR !=1 ) printf $2}' data.txt 

答案 1 :(得分:-2)

perl中的解决方案:

use warnings;
use strict;

open my $fh, '<', "file.txt" or die "couldn't open file : $!";

while( <$fh> ) {
    next if $. == 1;
    chomp;
    my @columns = split /\s+/, $_;
    push (my @ids, $columns[0]);
    push (my @names, $columns[1]);
}