shell grep 的结果只取第一行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell grep 的结果只取第一行相关的知识,希望对你有一定的参考价值。

如题,请问该怎么写

可以使用head -1 命令来只取grep到的数据的第一行。

例如一个文本文档a.txt内容是:

北京是我们的首都

北京天安门坐落在中华人民共和国首都北京市的中心

我在北京天安门广场吃炸鸡

使用命令 cat a.txt  |grep  北京 | head -n 1 可以只取到第一行的数据北京。


扩展资料

Linux中head命令详解:

head命令与tail命令用法相似,head命令用于查看文档的开始指定数量的字符块,默认显示文档的前 10 行,如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。

1、grep命令用法格式

head 【参数】【文件】

2、命令选项

-c, --bytes=[-]K   k,显示文档开始的前k个字节,-k,不显示文档结尾的最后 k 个字节

-n, --lines=[-]K    k,显示文档开始的前k行,-k,不显示文档结尾的最后 k 行

-q, --quiet, --silent    不显示包含给定文件名的文件头

-v, --verbose      总是显示包含给定文件名的文件头

--help        显示此帮助信息并退出

--version      显示版本信息并退出

3、实例

#显示前5行

head -n  5 head.txt

#显示前5个字节

head -c 5 head.txt

参考技术A 用head命令

grep *.*|head -n 1

grep *.*|head -1本回答被提问者采纳

sql根据某一个字段重复只取第一条数据

比如上图,取3,4行记录的第一行也就是3行,而不返回4行。

使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用,比如使用下面的方式。

select s.*  
from ( 
    select *, row_number() over (partition by [手机号] order by [店铺]) as group_idx  
    from table_name
) s
where s.group_idx = 1

 

以上是关于shell grep 的结果只取第一行的主要内容,如果未能解决你的问题,请参考以下文章

shell 如何在grep后只取一部分?

shell 取下一行

sql根据某一个字段重复只取第一条数据

oracle groupby取第一条

merge into 只取第一行

sql根据某一个字段重复只取第一条数据