免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3552 | 回复: 4
打印 上一主题 下一主题

请问为什么在一行中连续使用grep 结果只会处理第一个grep 第二个grep不会执行? [复制链接]

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-01-20 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-09 09:17 |只看该作者 |倒序浏览
请问为什么在一行中连续使用grep   结果只会处理第一个grep   第二个grep不会执行?

例如:我想把/etc/syslog.conf中的内容打印出来,但不显示空行和以#开头的行  则可这样做:
grep -v '^$' /etc/syslog.conf |grep -v '^#'
就能达到要求了。
但我换成这样:
cat /etc/syslog.conf |grep -v '^$' |grep -v '^#'就只会执行cat ........|grep -v '^$'第一个
grep的动作 而后面这个|grep -v '^#'不会执行  

请问这是为什么呢?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2012-02-09 09:36 |只看该作者
我这正常.
cat /etc/syslog.conf |grep -v '^$' |grep -v '^#'
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local1.*                            /var/log/switch/switch.log

cat /etc/syslog.conf |grep -v '^$'
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure
# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog
# Log cron stuff
cron.*                                                  /var/log/cron
# Everybody gets emergency messages
*.emerg                                                 *
# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler
# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log
#switch log
local1.*                            /var/log/switch/switch.log

你的Linux的系统版本是什么

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-01-20 06:20:00
3 [报告]
发表于 2012-02-09 09:55 |只看该作者
chenyx 发表于 2012-02-09 09:36
我这正常.


哈哈 ,谢谢啊  我觉得我的系统有毛病 一会好一会不好的。。。
我的是SUSE10-SP2的系统。。。

论坛徽章:
0
4 [报告]
发表于 2012-03-02 10:28 |只看该作者
cat syslog.conf |grep -v -E '^$|#'
这样也可以吧!! 

论坛徽章:
0
5 [报告]
发表于 2012-03-09 17:52 |只看该作者
回复 4# panidexin


    grep -v -E "^$|^#"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP