大家好,又见面了,我是你们的朋友全栈君。
一: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