设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1713|回复: 8
收起左侧

LINUX中grep用法问题

[复制链接]
发表于 2014-12-23 21:08:59 | 显示全部楼层 |阅读模式
有个习题:将/etc/termcap内容取出后,去除开头为#的行、去除空白行、取出开头为英文字母的那几行以及最终统计总数该如何进行?
我的程序: grep -v '^$' | grep -v '^$' | grep -n '^[[:alpha:]]'  | less  这个是符合题意的,如图1:
但是发现那个 -n 显示行数的参数放在第几个grep 后出现的结果是不一样的。拿这个举例 grep -v '^$' | grep -v '^$' | less,词句输出为如图2:
grep -v '^$' | grep -vn '^$' | less 如图3.  grep -vn '^$' | grep -v '^$' | less  如图4   grep -vn '^$' | grep -vn '^$' | less 如图5.
变量输出从左到右输出的,那这样的话这个 -n 要实现复杂的输出时,到底放在哪个地方?

图1

图1

图2

图2
  

图3

图3

图4

图4

图5

图5

发表于 2014-12-23 22:06:34 | 显示全部楼层
拿分走人呵呵,楼下继续!
沙发 2014-12-23 22:06:34 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-12-24 17:10:33 | 显示全部楼层
楼主想表达什么?你想在哪一步显示行号就在哪一个grep那里加上 -n,你-n的位置不同当然显示的结果会不同了啊,如你的这道题,你是要求在过滤了#号行又过滤了空行,然后再取出开头为英文字母的结果,然后把这个结果统计是多少行对吧,那你的-n肯定是在最后一个grep那里加啦。你前面做的几次过滤根本没让统计是多少行所以不用加-n,正常做过滤的操作即可,然后把结果用管道符| 传递给下一个要执行的操作,这样讲明白否?
地板 2014-12-24 17:10:33 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2015-1-5 16:04:27 | 显示全部楼层
没看到你过滤以#开头的行
5# 2015-1-5 16:04:27 回复 收起回复
回复 支持 1 反对 0

使用道具 举报

发表于 2015-1-23 15:18:03 | 显示全部楼层
{:soso_e102:}
6# 2015-1-23 15:18:03 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2015-10-9 11:46:35 | 显示全部楼层
努力回帖赚取金钱
8# 2015-10-9 11:46:35 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2015-10-16 20:32:44 | 显示全部楼层
Linux新手学习  大家是觉得看普通的教学视频  还是看
9# 2015-10-16 20:32:44 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-2 05:44 , Processed in 0.085524 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表