原创声明:本文系博主原创文章,转载或引用请注明出处。

grep命令是linux下常用的文本查找命令。当grep检索的文件是二进制文件时,grep命令会提示:

$grep pattern filename
Binary file filename matches

如果此时确实需要对二进制文件进行匹配,可以加 -a 参数,使grep将二进制文件当作文本文件来进行匹配。

使用man命令查看grep参数,可以发现:

-a, --text
Treat all files as ASCII text. Normally grep will simply print ``Binary file ...
matches'' if files contain binary characters. Use of this option forces grep to output
lines matching the specified pattern.
...
--binary-files=value
Controls searching and printing of binary files. Options are binary, the default: search
binary files but do not print them; without-match: do not search binary files; and text:
treat all files as text.
 

即可以通过添加-a参数,使grep将所有文件以ascii格式来读取。

也可以通过--binary-files=value参数来进行控制,value可选值及含义为:

  1. binary(默认参数): 对二进制文件进行匹配但是不输出结果;
  2. without-match: 不对二进制文件进行匹配;
  3. text: 将所有文件当作文本文件进行匹配,这与-a参数的控制行为一致。

【参考资料】

  1. https://blog.csdn.net/xiayu98020214/article/details/49071241

Linux——grep binary file的更多相关文章

  1. Linux命令:grep,报错Binary file (standard input) matches

    在Linux使用grep命令,从文件中抓取显示特定的信息,如下: cat 文件名 | grep 特定条件 --->   cat xxxx | grep 12345 结果报错:Binary fil ...

  2. linux出现bash: ./java: cannot execute binary file 问题的解决办法

    问题现象描述: 到orcal官网上下载了两个jdk: (1)jdk-7u9-linux-i586.tar.gz ------------>32位 (2)jdk-7u9-linux-x64.tar ...

  3. grep:Binary file (standard input) matches

    grep "key" xxx.log时输出 Binary file xxx.log matches 百度了一下:grep觉得这是二进制文件.解决方式:grep -a. grep - ...

  4. linux执行run文件显示cannot execute binary file

    感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限.错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

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

    仔细想想,这个问题遇到很多次了,之前一直以为很复杂,一搜索发现解决这么简单,记录一下做备忘. grep test XXX.log Binary file app.log matches 此时使用-a参 ...

  6. grep的时候Binary file matches **.log 怎么解决

    操作 grep "hello world" test.log 结果 Binary file test.log matches 原因:grep认为test.log是二进制文件 解决方 ...

  7. linux环境下运行程序格式错误的问题,bash: ./helloworld: cannot execute binary file: Exec format error

    在编译完quecOpen的example helloworld之后,我运行此程序,结果报错,详情如下: ricks@ubuntu:~/share/project/ql-ol-sdk/ql-ol-ext ...

  8. 【树莓派】-bash: /usr/local/java/jdk1.8.0_161/bin/java: cannot execute binary file: Exec format error

    遇到这样的问题:-bash: /usr/local/java/jdk1.8.0_161/bin/java: cannot execute binary file: Exec format error ...

  9. Linux grep总结(转)

    源自:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表 ...

随机推荐

  1. Django-Form组件-forms.Form

    forms.Form ​ 在之前的示例HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时很多时候都需要对用户的输入做校验,比如校验用 ...

  2. 配置nova-compute在不同的hypervisors上使用不同的存储后端

    说明:主参考:https://www.sunmite.com/openstack/use-local-storage-for-different-hypervisors.html 在控制节点上执行 1 ...

  3. 攻防世界新手Misc writeup

    ext3 在Linux,使用root账户挂载linux文件,打开后使用find *|grep flag查找到一个flag.txt,打开后是base64编码,解码获得flag. give_you_fla ...

  4. android简易计算器

    activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...

  5. [bzoj2288]【POJ Challenge】生日礼物_贪心_堆

    [POJ Challenge]生日礼物 题目大意:给定一个长度为$n$的序列,允许选择不超过$m$个连续的部分,求元素之和的最大值. 数据范围:$1\le n, m\le 10^5$. 题解: 显然的 ...

  6. [转帖]SOCKS5代理与HTTP代理

    SOCKS5代理与HTTP代理 https://blog.csdn.net/watson2017/article/details/79897693 [1]什么是SOCKS5协议. SOCKS是一种网络 ...

  7. 基于.NET架构的树形动态报表设计与应用

    在一些统计报表中,利用树形结构报表来实现维度钻取功能是十分常见的.通过逐级钻取,可以快速查看更细粒度的指标数据,如项目施工进度报告等. 使用葡萄城报表控件——ActiveReports ,即可轻松设计 ...

  8. SQL SERVER DATENAME函数

    定义: DATENAME函数返回指定日期的指定部分. 语法: DATENAME(datepart,date) 参数: ①datepart 参数可以是下列的值: datepart 缩写 年(Year) ...

  9. 小白windows上搭建linux环境

    我使用的oracle VM VirtualBox,下载使用就好了 这是用的虚拟机,不是搭建linux系统,不用担心把电脑搞坏,游戏打不了 全程很简单,基本都是默认,下一步 下一步 默认下一步 创建 下 ...

  10. golang 客户端

    package main import ( "fmt" "io/ioutil" "net/http" ) func main() { fmt ...