ホームページ > php教程 > php手册 > php exec()某个shell结果出错,原因是php中的 grep只能处理文本流,二进制流不行

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 10:55:27
オリジナル
1116 人が閲覧しました

 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不识别 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート