grep的实战用法

简介: grep的实战用法

grep 是 Linux 及类 Unix 系统中非常强大的文本搜索工具,它可以基于用户提供的模式(pattern)在文件或输入流中搜索匹配的行,并将其输出。以下是一些 grep 命令的实战用法:

基础用法

  • 搜索单个文件

    grep '搜索词' 文件名
    

    例如,要在一个名为 log.txt 的文件中搜索包含 "error" 的行:

    grep 'error' log.txt
    
  • 搜索多个文件

    grep '搜索词' 文件1 文件2 ...
    
  • 搜索目录下的所有文件

    grep '搜索词' ./*
    

    或者递归搜索子目录:

    grep -r '搜索词' 目录名
    

高级用法

  • 忽略大小写

    grep -i 'searchWord' file.txt
    

    -i 参数让搜索不区分大小写。

  • 正则表达式搜索

    grep -E 'regex_pattern' file.txt
    

    -E--extended-regexp 使用扩展正则表达式。若想使用基本正则表达式(BRE),无需额外参数,默认情况下 grep 使用的就是 BRE。

  • 反向搜索

    grep -v '排除词' file.txt
    

    -v 参数表示打印不包含指定模式的行。

  • 输出行号

    grep -n '搜索词' file.txt
    

    -n 参数会让 grep 输出匹配行时带上行号。

  • 统计匹配行数

    grep -c '搜索词' file.txt
    

    -c 参数用来计算匹配行的数量而不是列出具体的匹配行。

  • 仅显示匹配部分

    grep -o '模式' file.txt
    

    -o 参数只会输出每行中匹配到的部分,而非整行。

  • 多模式搜索

    grep -e '模式1' -e '模式2' file.txt
    

    -e 参数后跟多个模式,可同时搜索多个不同的模式。

示例

  • 搜索以特定字符串开头的行

    grep '^inet ' /etc/network/interfaces
    

    这将找到所有以 "inet " 开头的行。

  • 搜索并显示匹配行及其上下文

    grep -C 2 '搜索词' file.txt
    

    -C 参数后面跟着数字,表示显示匹配行前后的若干行。

以上只是 grep 的部分实战用法,实际上 grep 的功能远不止这些,还可以与其他命令结合使用,如管道(|)、重定向(>>>)等进行更复杂的文本处理任务。

目录
相关文章
|
3月前
|
Perl
grep的复杂用法
grep的复杂用法
15 3
|
3月前
|
Unix
grep的基本用法
grep的基本用法
19 2
|
3月前
|
Unix Linux
grep的具体用法
grep的具体用法
37 1
|
12月前
grep常见的用法
grep常见的用法
143 0
|
存储 机器学习/深度学习 Unix
sed 和 awk 使用方法 | 学习笔记
快速学习 sed 和 awk 使用方法。
129 0
|
索引
$.grep() 的用法
$.grep() 的用法
278 0
$.grep() 的用法
grep -w 的解析_学习笔记
grep -w 用来指定我们要匹配的词组,这里就是在pattern的写法上要注意下 ,正常词组是字母,数字和下划线来组成词组, 但是我们查找的时候呢,如果想要找x+y=z 这个表达式,其实也可以当做一个词组 这个时候一定要加引号就行了 grep -w "x+y=z" ????...
1332 0