首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我可以只对文件的前n行进行grep吗?

我可以只对文件的前n行进行grep吗?
EN

Stack Overflow用户
提问于 2012-01-07 02:01:16
回答 11查看 206.2K关注 0票数 140

我有很长的日志文件,可以让grep只搜索前10行吗?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-01-07 02:03:53

管子的魔力;

代码语言:javascript
复制
head -10 log.txt | grep <whatever>
票数 201
EN

Stack Overflow用户

发布于 2013-10-31 03:40:27

对于在谷歌上找到它的人来说,我需要搜索多个文件的前n行,但只打印匹配的文件名。我用过

代码语言:javascript
复制
 gawk 'FNR>10 {nextfile} /pattern/ { print FILENAME ; nextfile }' filenames

一旦看到10行,FNR..nextfile就会停止处理文件。只要给定文件中出现第一个匹配项,//..{}就会打印文件名并继续执行操作。要引用文件名以便于其他程序使用,请使用

代码语言:javascript
复制
 gawk 'FNR>10 {nextfile} /pattern/ { print "\"" FILENAME "\"" ; nextfile }' filenames
票数 54
EN

Stack Overflow用户

发布于 2012-01-07 02:09:38

或者在没有|的情况下对单个进程使用awk

代码语言:javascript
复制
awk '/your_regexp/ && NR < 11' INPUTFILE

在每一行上,如果your_regexp匹配,并且记录(行数)少于11,它将执行默认操作(即打印输入行)。

或者使用sed

代码语言:javascript
复制
sed -n '/your_regexp/p;10q' INPUTFILE 

检查regexp并打印该行(-n表示不打印输入,否则为默认值),然后在第10行之后退出。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8762274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档