【转】 grep 文件报错 “Binary file ... matches”

原文链接 http://blog.csdn.net/yaochunnian/article/details/7261006

grep 文件报错 “Binary file ... matches”
原因:文件为binary文件
解决:strings vers.log.2010-03-09 | grep -i ‘mezimedia’
           或者 grep -a -i ‘mezimedia’ vers.log.2010-03-09
grep命令是linux下的行过滤工具,其参数繁多,下面就一一介绍个个参数的作用,希望对大家有所帮助。

grep -- print lines matching a pattern (将符合样式的该行列出)

◎语法: grep [options]
PATTERN [FILE...]
grep用以在file内文中比对相对应的部分,或是当没有指定档案时,
由标准输入中去比对。 在预设的情况下,grep会将符合样式的那一行列出。

此外,还有两个程序是grep的变化型,egrep及fgrep。
其中egrep就等同于grep -E ,fgrep等同于grep -F 。

◎参数

     2. -a或--text
                grep原本是搜寻文字文件,若拿二进制的档案作为搜寻的目标,
                则会显示如下的讯息: Binary file 二进制文件名 matches 然后结束。

                若加上-a参数则可将二进制档案视为文本文件搜寻,
                相当于--binary-files=text这个参数。

          ex:    (从二进制档案mv中去搜寻panda样式)
                (错误!!!)
               $ grep panda mv
               Binary file mv matches
                (这表示此档案有match之处,详见--binary-files=TYPE )
               $
                (正确!!!)
               $ grep -a panda mv 

     6. --binary-files=TYPE
                此参数TYPE预设为binary(二进制),若以普通方式搜寻,只有2种结果:
                  1.若有符合的地方:显示Binary file 二进制文件名 matches
                  2.若没有符合的地方:什么都没有显示。

                若TYPE为without-match,遇到此参数,
                grep会认为此二进制档案没有包含任何搜寻样式,与-I 参数相同。

                若TPYE为text, grep会将此二进制文件视为text档案,与-a 参数相同。

     Warning: --binary-files=text 若输出为终端机,可能会产生一些不必要的输出。

    16.  -I
                grep会强制认为此二进制档案没有包含任何搜寻样式,
                与--binary-files=without-match参数相同。

            ex:  $ grep -I panda mv

    18.  -L, --files-without-match
                不显示平常一般的输出结果,反而显示出没有符合的文件名称。

    19.  -l, --files-with-matches
                不显示平常一般的输出结果,只显示符合的文件名称。

        Shell Script倾向将传统的grep移植,避开-q及-s参数,
        且将输出限制到/dev/null。

POSIX: 定义UNIX及UNIX-like系统需要提供的功能。             

    25.  -V, --version
   显示出grep的版本号到标准错误。
   当您在回报有关grep的bugs时,grep版本号是必须要包含在内的。

    26.  -v, --invert-match
   显示除搜寻样式行之外的全部。
时间: 2024-10-13 01:15:39

【转】 grep 文件报错 “Binary file ... matches”的相关文章

linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

一.linux下编译make文件报错"/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101#comments 自己测试的结果: [1]使用windows 下的编辑工具 新建文件doc2unix.sh #!/usr/bin/env bash # test PID=$(ps -aef | grep nginx | grep -v grep | grep master |awk '{print

grep命令提示"binary file matches **.log"解决方法

仔细想想,这个问题遇到很多次了,之前一直以为很复杂,一搜索发现解决这么简单,记录一下做备忘. grep test XXX.log Binary file app.log matches 此时使用-a参数接口. grep -a test XXX.log -a, --text equivalent to --binary-files=text,即让二进制文件等价于文本. 注:zgrep遇到同样问题,解决方法也是类似. 原文地址:https://www.cnblogs.com/amyzhu/p/111

ORACLE 11G收缩表空间报错 ORA-03297: file contains used data beyondrequested RESIZE value

测试环境磁盘空间不足,所以drop一些无用的大表,但是发现空间没有变化,df -h还是没有释放出磁盘空间来. SQL> set line 200 SQL> set pagesize 200 SQL> col name format A150 1,查看表空间使用情况 SQL> SELECTUPPER(F.TABLESPACE_NAME) "表空间名", 2 D.TOT_GROOTTE_MB "表空间大小(M)", 3 D.TOT_GROOTTE

Flex和Servlet结合上传文件报错(二)

1.具体报错如下 一个表单域 不是一个表单域 java.io.FileNotFoundException: D:\MyEclipse\workspace\FlexFileUpload\Web\uploadFolder\鏌卞舰鍥?xls (文件名.目录名或卷标语法不正确.) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:179) at

dubbo spring pom文件报错:提示no declaration can be found for element &#39;dubbo:service&#39;.

pom文件报错:The matching wildcard is strict, but no declaration can be found for  element 'dubbo:service'. 解决办法: 找到dubbo的jar包,解压后在META-INF文件夹下找到dubbo.xsd 在eclipse中点击windows-->preferrence-->xml-->xmlcatalog 选择add-->catalog entry  -->file system

.NET下载文件报错System.UnauthorizedAccessException的解决方法

转自原文.NET下载文件报错System.UnauthorizedAccessException的解决方法 假设VS代码对应路径为E:\Projects\Web1,在VS用“发布Web”的方式发布后的路径为E:\Site\Web1.在IIS新建2个站点,站点A指向E:\Projects\Web1,站点B指向E:\Site\Web1. 现在出现一个异常情况,站点B能正常下载123.xls,站点A下载时却提示错误: System.UnauthorizedAccessException: 对路径“E:

spring pom文件报错:提示no declaration can be found for element &#39;dubbo:service&#39;.

转自:http://blog.csdn.net/happylife_haha/article/details/52755425 pom文件报错:The matching wildcard is strict, but no declaration can be found for  element 'dubbo:service'. 解决办法: 找到dubbo的jar包,解压后在META-INF文件夹下找到dubbo.xsd 在eclipse中点击windows-->preferrence-->

qt5.5.1 苹果电脑10.12.2 编译报错&#39;cstddef&#39; file not found

问题: qt5.5.1   苹果电脑10.12.2  编译报错: /Users/apple/Qt5.5.1/5.5/clang_64/lib/QtCore.framework/Headers/qglobal.h:39: error: 'cstddef' file not found 解决办法: 打开Pro文件, 添加一条 QMAKE_MAC_SDK=macosx10.12 意思就是设置编译SDK 和苹果系统一样. qt5.5.1 苹果电脑10.12.2 编译报错'cstddef' file no

Sharepoint访问ashx文件报错

Sharepoint访问ashx问件报错:the file you are attempting to save or retrieved has been blocked from this web site by the server administrator 解决方案: 1.打开Sharepoint管理中心 2.安全性/定义被阻止的文件类型 3.remove 文件类型列表中的ashx 4.重新访问ashx文件,成功访问 5.如果访问其他文件也有类似错误,也可以这么修改 本来打算上图的,可