在Unix中打印3个文件所需的行
问题描述:
目录中有3个文件。如何使用UNIX命令打印第一个文件第一行,第二个文件第三行和第三个文件第四行?在Unix中打印3个文件所需的行
我试过cat filename.txt | sed -n 1p但它只适用于一个文件。我怎样才能一次查看所有三个文件?
答
使用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
看看'find'和'xargs'。 –
你不需要使用'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