awkを使用してファイルのn番目の列を印刷するには?

awkを使用してファイルのn番目の列を印刷するには?

同様のデータ(input1、input2など)を持つn個のファイルがあり、このファイルの2番目の列(呼び出し)を含む新しいファイルを作成したいと思います。私が使うなら

awk '{print $2}' input{1..n} >> out

次に、入力ファイルの2番目の列にあるすべての項目を含む列を取得します。$1in out = input1、in out = input2、out = input3、....、out = inputnなど、さまざまなファイルに対して異なる列を設定するにはどうすればよいですか?$2$2$2$3$2$n$2

ベストアンサー1

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

おすすめ記事