如何使用awk打印文件中的第n列?

Hit*_*nia 5 awk text-processing

我有 n 个文件(称为 input1、input2 等)具有相似的数据,我希望创建一个包含这些文件的第二列的新文件(将其称为)。如果我使用

awk '{print $2}' input{1..n} >> out
Run Code Online (Sandbox Code Playgroud)

然后我得到一列,其中包含来自输​​入文件第二列的所有条目。我该怎么做才能为不同的文件设置不同的列,例如 in $1out = $2of input1、$2in out = $2of input2、$3in out = $2of input3、.....、$nin out = $2of inputn?

Sté*_*las 3

BEGIN您可以使用以下语句在声明中完成整个操作getline

awk '
  BEGIN {
    while(1) {
      line = sep = ""
      for (i = 1; i < ARGC; i++) {
        if ((getline < ARGV[i]) <= 0) exit
        line = line sep $2
        sep = OFS
      }
      print line
    }
  }' input{1..n} > out
Run Code Online (Sandbox Code Playgroud)