下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
选项:
-c 不输出内容只统计匹配行数
grep -c "123" filename 相当于 grep "123" filename | wc -l
-i 不区分大小写
grep -i "ok" filename 匹配包含ok,Ok,oK,OK的所有行
-h 查询多文件时不显示文件名
grep -h "123" *.txt 不加-h时会在每一行前显示该行所在文件名
-l 查询多文件是只显示包含匹配字符的文件名
-n 查询匹配行及行号
-v 显示不包含匹配文本的所有行
-? 同时显示匹配行上下的?行
正则:
^ 锚定行的开始
如:'^grep'匹配所有以grep开头的行。
$ 锚定行的结束
如:'grep$'匹配所有以grep结尾的行。
. 匹配一个非换行符的字符
如:'gr.p'匹配gr后接一个任意字符,然后是p。
* 匹配零个或多个先前字符
如:'a*grep'匹配所有一个或多个字符a后紧跟grep的行。
.*一起用代表任意字符。
[] 匹配一个指定范围内的字符
如'[Gg]rep'匹配Grep和grep。
[^] 匹配一个不在指定范围内的字符
如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
\(..\)标记匹配字符
如'\(love\)',love被标记为1。
\< 锚定单词的开始
如:'\<grep'匹配包含以grep开头的单词的行。
\> 锚定单词的结束
如'grep\>'匹配包含以grep结尾的单词的行。
\b 单词锁定符
1.引号的使用
首先说明引号的作用,在shell中使用grep一般要打引号,例如:"grep" 这样做,一是防止被误解为shell命令,二是可以查找多个单词的字符串。如,"aaa bbb"。如果没引号,将会把bbb误认为文件。
2.egrep和 grep -E的元字符扩展
+ 匹配一个或多个先前的字符。
如:'[a-z]+able',匹配一个或多个小写字母后跟able的串。
a|b|c 匹配a或b或c。
如:grep|sed匹配grep或sed
( ) 分组符号
如:love(able|rs)匹配loveable或lovers。
-c 不输出内容只统计匹配行数
grep -c "123" filename 相当于 grep "123" filename | wc -l
-i 不区分大小写
grep -i "ok" filename 匹配包含ok,Ok,oK,OK的所有行
-h 查询多文件时不显示文件名
grep -h "123" *.txt 不加-h时会在每一行前显示该行所在文件名
-l 查询多文件是只显示包含匹配字符的文件名
-n 查询匹配行及行号
-v 显示不包含匹配文本的所有行
-? 同时显示匹配行上下的?行
正则:
^ 锚定行的开始
如:'^grep'匹配所有以grep开头的行。
$ 锚定行的结束
如:'grep$'匹配所有以grep结尾的行。
. 匹配一个非换行符的字符
如:'gr.p'匹配gr后接一个任意字符,然后是p。
* 匹配零个或多个先前字符
如:'a*grep'匹配所有一个或多个字符a后紧跟grep的行。
.*一起用代表任意字符。
[] 匹配一个指定范围内的字符
如'[Gg]rep'匹配Grep和grep。
[^] 匹配一个不在指定范围内的字符
如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
\(..\)标记匹配字符
如'\(love\)',love被标记为1。
\< 锚定单词的开始
如:'\<grep'匹配包含以grep开头的单词的行。
\> 锚定单词的结束
如'grep\>'匹配包含以grep结尾的单词的行。
\b 单词锁定符
1.引号的使用
首先说明引号的作用,在shell中使用grep一般要打引号,例如:"grep" 这样做,一是防止被误解为shell命令,二是可以查找多个单词的字符串。如,"aaa bbb"。如果没引号,将会把bbb误认为文件。
2.egrep和 grep -E的元字符扩展
+ 匹配一个或多个先前的字符。
如:'[a-z]+able',匹配一个或多个小写字母后跟able的串。
a|b|c 匹配a或b或c。
如:grep|sed匹配grep或sed
( ) 分组符号
如:love(able|rs)匹配loveable或lovers。
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。