如何在AWK中读取许多输入文件?

时间:2013-09-03 22:19:23

标签: file input awk

我尝试了解如何使用此拼图阅读AWK中的许多输入文件“如何从文件1中打印第1列和从文件2打印第2列?

输入

$ cat test1 
1   4
2   5
3   6
$ cat test2
a   b
c   d   
e   f

目标

$ awk **ANSWER**
1   b
2   d
3   f

2 个答案:

答案 0 :(得分:3)

awk 'NR==FNR{a[NR]=$1;next} {print a[FNR], $2}' file1 file2

答案 1 :(得分:3)

Ed的解决方案很好,但由于awk通常存在于生态系统中,因此最好使用其他可用工具:

paste test[12] | awk '{print $1, $4}'

这应该扩展到更大的文件,因为paste的合理实现在生成任何输出之前不会将所有test1读入内存。 (这不太可能是一个实际问题,但在审美上是令人愉悦的。)