首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何匹配文件中包含单词的前三行

如何匹配文件中包含单词的前三行
EN

Stack Overflow用户
提问于 2015-03-23 15:17:13
回答 2查看 41关注 0票数 0

如何匹配文件中包含单词racoon的前三行(从上到下)

例如

代码语言:javascript
复制
127.0.0.1 localhost
18.2.3.122  racoon133
192.9.200.10 exemachine2
18.2.3.123  Aracoon101
10.10.10.10 jank_machine
18.2.3.124  racoon102
18.2.3.125 start10
18.2.3.125 frt100
18.2.3.128  racoon103

预期的结果应该是

代码语言:javascript
复制
18.2.3.122  racoon133
18.2.3.123  Aracoon101
18.2.3.124  racoon102
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-23 15:19:04

用awk:

代码语言:javascript
复制
awk '/racoon/ { print; if(++ctr == 3) exit }' filename

另一种方法是使用sed:

代码语言:javascript
复制
sed -n '/racoon/ { x; /.../ q; s/$/./; x; p; }' filename

对于grep来说,...but可能是最明智的:

代码语言:javascript
复制
grep -m 3 racoon filename

最后一个可能是GNU扩展;我不完全确定Solaris的grep会接受-m 3。当然,总有

代码语言:javascript
复制
grep racoon filename | head -n 3

尽管这并不是短路(可能是长文件的性能问题)。

票数 2
EN

Stack Overflow用户

发布于 2015-03-23 15:44:40

另一种方式

代码语言:javascript
复制
awk 'x<x+=/racoon/;x==3{exit}' file

代码语言:javascript
复制
awk '/racoon/&&++x;x==3{exit}' file
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29213875

复制
相关文章

相似问题

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