首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux、awk以及如何在文件中计数和打印连续行?

Linux、awk以及如何在文件中计数和打印连续行?
EN

Stack Overflow用户
提问于 2017-04-29 09:30:25
回答 2查看 432关注 0票数 0

例如,我有一个文件,如:

代码语言:javascript
复制
  apple
  apple
  strawberry

我想要实现的是打印连续行(Apple),并计算它连续的次数(2),如下所示: apple-2使用awk。

但是,到目前为止,我的代码是这样的: apple1-apple1。

代码语言:javascript
复制
awk '{current = $NF;
getline;
if($NF == current) i++; 
printf ("%s-%d",current,i) }' $file

提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-29 10:06:01

用于过滤的uniq -c和awk如何:

代码语言:javascript
复制
$ uniq -c foo|awk '$1>1'
      2   apple
票数 1
EN

Stack Overflow用户

发布于 2017-04-29 17:41:41

给予:

代码语言:javascript
复制
$ cat file
apple
apple
strawberry
mango
apple
strawberry
strawberry
strawberry

你可以:

代码语言:javascript
复制
$ awk '$1==last{seen[$1]++} 
               {last=$1}
       END{for (e in seen) 
            print seen[e]+1, e}' file
2 apple
3 strawberry
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43693981

复制
相关文章

相似问题

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