【发布时间】:2017-04-29 15:26:25
【问题描述】:
我有一个大文件,其中的部分由### 标记分隔。输出有一个空行,一些随机行,另一个空行,然后是我要计算字数的行,然后是另一个空行。我可以获得我想要的数据,但我同时使用了几个管道,我认为使用 awk 或 sed 一个衬垫可以做得更好。你能帮忙吗?
文件示例
...
sdf
asdf
asdf
asdf
###################### Usage ###########
a
asdf
asdf
asdf
70
80
90
100
################
sfad
asdf
asff
...
我的有效命令是:
awk '/Usage/{flag=1; next}/####/{flag=0} flag' *|
sed -n '0,/^$/! p'|
awk '/^$/{flag=1; next}/^$/{flag=0} flag'|
wc -l
第一个awk 会在我要使用的文件中提取该部分数据。
sed 跳过第一个空行。
第二个awk 拉取第二个空行到第三个空行之间的数据。
然后我得到我的字数。
【问题讨论】:
-
@EdMorton:我相信预期的答案是
6。
标签: optimization awk sed