LINUX中grep用法问题
有个习题:将/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 要实现复杂的输出时,到底放在哪个地方?
拿分走人呵呵,楼下继续! {:6_276:}{:6_276:}{:6_276:} 楼主想表达什么?你想在哪一步显示行号就在哪一个grep那里加上 -n,你-n的位置不同当然显示的结果会不同了啊,如你的这道题,你是要求在过滤了#号行又过滤了空行,然后再取出开头为英文字母的结果,然后把这个结果统计是多少行对吧,那你的-n肯定是在最后一个grep那里加啦。你前面做的几次过滤根本没让统计是多少行所以不用加-n,正常做过滤的操作即可,然后把结果用管道符| 传递给下一个要执行的操作,这样讲明白否? 没看到你过滤以#开头的行 {:soso_e102:} 放在|后面 努力回帖赚取金钱 Linux新手学习大家是觉得看普通的教学视频还是看
页:
[1]