在Unix中打印3个文件所需的行

时间:2017-04-16 06:03:58

标签: unix

目录中有3个文件。如何使用UNIX命令打印第一个文件第1行,第二个文件第3行和第三个文件第4行?

我尝试使用cat filename.txt | sed -n 1p但它仅适用于一个文件。如何一次查看所有三个文件?

1 个答案:

答案 0 :(得分:1)

使用awk。在每个文件的开头f增加,以跟踪我们正在处理的文件,然后我们只使用每个文件的所需记录编号(FNR)进行组合:

$ awk 'FNR==1 {f++} f==1&&FNR==1 || f==2&&FNR==3 || f==3&&FNR==4' 1 2 3 
11
23
34

第一个文件的记录,其他文件类似:

$ cat 1
11
12
13
14