2017-04-16 44 views
-1

目录中有3个文件。如何使用UNIX命令打印第一个文件第一行,第二个文件第三行和第三个文件第四行?在Unix中打印3个文件所需的行

我试过cat filename.txt | sed -n 1p但它只适用于一个文件。我怎样才能一次查看所有三个文件?

+0

看看'find'和'xargs'。 –

+0

你不需要使用'cat'(参见[UUOC award](http://porkmail.org/era/unix/award.html))。'sed -n'1p'filename.txt'会做很好......我认为你是在[命令分组]之后(http://www.gnu.org/software/bash/manual/bashref.html#Command-Grouping),但如果你只需要在终端输出,只需发出所有三个命令用';'分隔 – Sundeep

回答

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 
相关问题