grep 命令详解_grep命令详解

2022-09-27 11:25:46 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一:grep命令的基本概念和用途

grep命令是linux中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 在一个或多个文件中搜素字符串模式,如果字符串模式包括空格,也必须被引用,模式后的所有字符串被看作文件名。搜索的结果被送到标准输出(stdout),不影响原文件内容。 grep也可以用于shell脚本,因为grep通过返回一个状态值来说明搜索的结果,如果模式搜索成功,则返回0;如果搜索不成功,则返回1;如果搜索的文件不存在,则返回2;我们利用这些返回值就可以进行一些自动化的文本处理工作。例

二:grep命令的命令格式

代码语言:javascript复制
grep [option] pattern files

根据上面的命令格式,我们可以了解到grep命令主要有两个部分[option]和pattern,下面分别从这两个部分开始去了解熟悉grep命令。

1、主要选项[option]说明及示例: -c : 只输出匹配行的计数

-i : 不区分大小写

-l : 查询多文件时只输出包含匹配字符的文件名

-n : 显示匹配行及行号

-s : 不显示不存在或无匹配文本的错误信息

-v : 显示不包含匹配文本的所有行

-o : 只显示匹配字符串的部分

2、pattern正则表达式主要参数[即元字符]说明和示例

-? : 同时显示匹配行的上下?行

^ : 匹配正则表达式的以“某字符串”开头的行

$ : 匹配正则表达式的以“某字符串”结尾的行

< : 从匹配正则表达式的行开始

> : 到匹配正则表达式的行结束

[ ] : 单个字符,如[A] 即A 符合要求

[^ ] : 显示不包括括号中字符串的所有行

[ – ] : 范围匹配,如[A-C],即A、B、C都符合要求;如[a,b],即只有a和b符合要求

. :单个字符,匹配任意一个字符

* :匹配“*”前面的字符,匹配0个或无数个

:用来屏蔽一个元字符的特殊含义,使其作为单纯的一个字符

另外有些字符类描述,大家有兴趣可以去记一下 [:alnum:] 字母数字集 “a-z A-Z 0-9” [:alpha:] 字母集合 “a-z A-Z” [:blank:] 空格或制表键 [:cntrl:] 任何控制字符 [:digit:] 数字集合 “0-9” [:graph:] 任何可视字符(无空格) [:lower:] 小写字母 “a-z” [:print:] 非控制字符 [:punct:] 标点字符 [:space:] 空格 [:upper:] 大写字母 “A-Z” [:xdigit:] 十六进制数字 “0-9 a-f A-F”

三:grep命令简单使用

1、在文本中搜素只有一个字符的行,且为字母或数字

2、搜索开头不是英文字母的行

3、搜索非空行

4、搜索以s开头k结尾的行

只有经常练习,才能更好的去理解它,用起来才能更加的得心应手。让我们一起加油吧!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/178809.html原文链接:https://javaforall.cn

0 人点赞