知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

php exec()某个shell结果出错,原因是php中的 grep只能处理文本流,二进制流不行

发布时间:2015-05-27 19:28:49作者:知识屋

 cat aa.txt | grep   'startup' |wc-l
在linux命令行下测试没有问题。但是在php的exec的就出现问题了,很奇怪。
结果报错:
报错提示如下:cat: write error: Broken pipe
 
 
废了好大劲,查了好多资料,终于解决。
grep的选项增加-a选项就ok了
 
grep -a选项的意思是:Process a binary file as if it were text; this is equivalent to the --binary-files=text option
 
应该是cat的这个文件内容有二进制流,导致grep不识别 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜