• grep命令使用


      Linux grep 命令用于查找文件里符合条件的字符串。

      grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。

    语法结构

    grep  参数  符合文本样式  文件

    参数

    • -A 10 : 除了显示符合范本样式的那一列之外,并显示该行之后 10 行的内容。
    • -B 10 : 除了显示符合样式的那一行之外,并显示该行之前 10 行的内容。
    • -C 10 : 除了显示符合样式的那一行之外,并显示该行之前后 10 行的内容。
    • -c : 计算符合样式的列数。
    • -e <范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
    • -i 或 --ignore-case : 忽略字符大小写的差别。
    • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
    • -r 或 --recursive : 递归方式查找
    • -v 或 --invert-match : 显示不包含匹配文本的所有行。

    实例

    1、精确查找

      查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行

    grep test *file 

      查找 log 日志文件中包含 Exception 字符串的行并展示之后的 3 行内容

    grep  -A 3 "Exception" waimai-d-search-query-server.log

    2、递归查找

      以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容

    grep -r update /etc/acpi 

    3、反向查找

      前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。查找文件名中包含 test 的文件中不包含test 的行

    grep -v test *test*

    Linux 里利用 grep 和 find 命令查找文件内容

    从文件内容查找匹配指定字符串的行:

      $ grep "被查找的字符串" 文件名

    例子:在当前目录里第一级文件夹中寻找包含指定字符串的 .in 文件

     $ grep "thermcontact" /.in

    从文件内容查找与正则表达式匹配的行:

      $ grep e "正则表达式" 文件名

    查找时不区分大小写:

      $ grep i "被查找的字符串" 文件名

    查找匹配的行数:

        $ grep -c "被查找的字符串" 文件名

    从文件内容查找不匹配指定字符串的行:

       $ grep v "被查找的字符串" 文件名

    从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行:

       $ find / -type f -name "*.log" | xargs grep "ERROR"

    例子:从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 "thermcontact" 的行:

      $ find . -name "*.in" | xargs grep "thermcontact"
  • 相关阅读:
    ASP.NET的最新安全漏洞Important: ASP.NET Security Vulnerability
    Sql常用日期格式
    倒计时 服务器时间 .NET js javascript
    “备份集中的数据库备份与现有的数据库不同”解决方法
    2010年最佳jQuery插件
    jQuery1.4与json格式兼容问题
    .NET结束外部进程 C#结束外部进程
    十步优化SQL Server中的数据访问
    SQL游标的使用与语法
    SQL2005、SQL2008如何压缩日志文件(log) 如何清除日志
  • 原文地址:https://www.cnblogs.com/liang1101/p/14686803.html
Copyright © 2020-2023  润新知