首页 > 编程知识 正文

grep命令查找文件字符串,shell命令grep筛选文件

时间:2023-05-04 05:03:22 阅读:235711 作者:1460

以下为学习整理内容,供自己翻阅和他人翻阅使用

grep查找关键词,并打印匹配的行

说明:
grep是一个功能强大的程序,它用来在文件中查找匹配文本

用法: grep [选项] PATTERN/regex [FILE...]在每个 FILE 或是标准输入中查找 PATTERN。默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。例如: grep -i 'hello world' menu.h main.c选项:正则表达式选择-G 使用基本正则表达式, --basic-regexp-e 使用 PATTERN 来进行匹配操作, --regexp=PATTERN (默认)-E 使用可扩展的正则表达式, --extended-regexp-P 使用Perl 正则表达式, --perl-regexp -F 使用断行符进行分隔进行匹配的定长字符串, --fixed-strings-f 从 FILE 中取得 PATTERN, --file=FILE -i 匹配忽略大小写,--ignore-case-w 强制 PATTERN 仅完全匹配字词, --word-regexp-x 强制 PATTERN 仅完全匹配一行, --line-regexp-z 一个 0 字节的数据行,但不是空行, --null-data杂项-v 匹配取反,--invert-match-s 禁止错误信息输出, --no-messages--color=auto 标记匹配颜色输出控制-m NUM 次匹配后停止, --max-count=NUM-c 输出匹配的数目,--count-l 输出匹配项的文件名,--files-with-matches-r 对文件夹进行递归查询 但是对符号链接(symbolic links)的文件只有在命令里面才检索 如果没有文件就是默认当前文件夹, --recursive -L 与-l相反,但输出的不包含匹配项的文件名,--files-without-match-n 为匹配行显示在文件中的行号,--line-number-h 多文件搜索时,抑制文件名的输出,--no-filename-H 与-h选项相反文件控制-B n 打印匹配搜索后的内容之前的n行一并输出打印, --before-context=NUM-A n 打印匹配搜索后的内容之后的n行一并输出打印, --after-context=NUM-C n 打印匹配搜索后的内容之前之后的n行一并输出打印, --context=NUM 案例截图:

使用注意点
‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。
若FILE 为 -,将读取标准输入。不带FILE,读取当前目录,除非命令行中指定了-r 选项。
如果少于两个FILE 参数,就要默认使用-h 参数。
如果有任意行被匹配,那退出状态为 0,否则为 1;
如果有错误产生,且未指定 -q 参数,那退出状态为 2。
-l -L选项使用
-n选项使用

-c 选项使用

-h选项的使用

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。