find /etc -type f -user root -print > e | wc -l 结果是0,为什么?
-
- 帖子: 1038
- 注册时间: 2007-01-10 9:32
find /etc -type f -user root -print > e | wc -l 结果是0,为什么?
这条语句的结果是0,搞不懂。
题目的原意是:
在下述管道线中,find命令搜索/etc下的所有目录,以查找用户标示root拥有的文件。然后将这些文件的名称写到标准输出,每行一个名称。find的输出被传宋给wc -l 命令以统计行的数量。
find /etc -type f -user root -print | wc -l
在find命令运行时,它将生成各种您不想看到的错误消息。您的目标就是重写管道线,在不影响其他输出的情况下抛弃错误消息。示例如何为Bourne shell家族实现这种方法。
求答案,谢谢。
题目的原意是:
在下述管道线中,find命令搜索/etc下的所有目录,以查找用户标示root拥有的文件。然后将这些文件的名称写到标准输出,每行一个名称。find的输出被传宋给wc -l 命令以统计行的数量。
find /etc -type f -user root -print | wc -l
在find命令运行时,它将生成各种您不想看到的错误消息。您的目标就是重写管道线,在不影响其他输出的情况下抛弃错误消息。示例如何为Bourne shell家族实现这种方法。
求答案,谢谢。
-
- 帖子: 1038
- 注册时间: 2007-01-10 9:32
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
是不是要这么写
find /etc -type f -user root -print 2> /etc/null | wc -l
find /etc -type f -user root -print 2> /etc/null | wc -l
- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
2>/dev/null
不过,这些东西不会重定向到标准输出的吧。
不过,这些东西不会重定向到标准输出的吧。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
-
- 帖子: 1038
- 注册时间: 2007-01-10 9:32
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
题目是你要抛弃标准错误,所以用了 2> /dev/null.YeLee 写了:2>/dev/null
不过,这些东西不会重定向到标准输出的吧。
标准输出 被wc统计。
- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
不明白你的意思,表示wc并不计算stderr的吧。




◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
当然不计算。另外楼主帖子内容和标题不符。YeLee 写了:不明白你的意思,表示wc并不计算stderr的吧。![]()
![]()
-
- 帖子: 1038
- 注册时间: 2007-01-10 9:32
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
帖子里的内容是我最开始写的题目,发现结果是0,那肯定是错的了。lilydjwg 写了:当然不计算。另外楼主帖子内容和标题不符。YeLee 写了:不明白你的意思,表示wc并不计算stderr的吧。![]()
![]()
管道只能连接2个命令吧?
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
或者 zsh 的 multiioeexpress 写了:> e 干嘛呢。
那要cat e|wc -l
-
- 帖子: 1038
- 注册时间: 2007-01-10 9:32
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
就是把find命令的结果的标准输出重定向到e文件,然后e文件作为输入,给wc -leexpress 写了:> e 干嘛呢。
那要cat e|wc -l
- link_01
- 帖子: 1024
- 注册时间: 2008-11-05 13:24
Re: find /etc -type f -user root -print > e | wc -l 结果是0,为什么
根据题目,你理解错了,题目是让你抛弃错误而已。
在于bash输出重定向这点。
在于bash输出重定向这点。
drongh 写了:这条语句的结果是0,搞不懂。
题目的原意是:
在下述管道线中,find命令搜索/etc下的所有目录,以查找用户标示root拥有的文件。然后将这些文件的名称写到标准输出,每行一个名称。find的输出被传宋给wc -l 命令以统计行的数量。
find /etc -type f -user root -print | wc -l
在find命令运行时,它将生成各种您不想看到的错误消息。您的目标就是重写管道线,在不影响其他输出的情况下抛弃错误消息。示例如何为Bourne shell家族实现这种方法。
求答案,谢谢。
笔记
-------------------------------------
http://blog.163.com/wqt_1101
-------------------------------------
http://blog.163.com/wqt_1101