Linux grep命令
来源:互联网 发布:cms哪个好 编辑:程序博客网 时间:2024/06/05 12:05
1 作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2 格式
grep [options] PATTERN [FILE...]
[1]grep 搜索字符串 [filename]
[2]grep 正则表达式 [filename]
在文件中搜索所有PATTERN出现的位置,PATTERN既可以是要搜索的字符串,也可以是一个正则表达式。
注意:在输入要搜索的字符串时最好使用双引号;而在模式匹配使用正则表达式时使用单引号。
2.1 options选项参数
-a 不要忽略二进制数据。
-A <显示行数>除了显示符合范本样式的那一行之外,并显示该行之后指定个数的行。
-B <显示行数>除了显示符合范本样式的那一行之外,并显示该行之前指定个数的行。
-C <显示行数> 除了显示符合范本样式的那一行之外,并显示前后指定的行。
-c 输出匹配行的行数。
-d <进行动作>当指定要查找的是目录而非文件时,必须使用这项参数
-e <范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f <范本文件>指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 查询多文件时不显示文件名。
-H 查询多文件时显示文件名。
-i 忽略字符大小写的差别。
-I 不区分大小写
-l 查询多文件时只列出匹配的文件名。
-L 查询多文件时列出不匹配的文件名。
-n 显示匹配行及行号。
-q 不显示任何信息。
-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
-w 只显示全字符合的行。即匹配整个单词
-x 只显示全列符合的行。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分
--color=auto 标记匹配颜色
2.2 pattern模式:正则表达式参数
\ 忽略正则表达式中特殊字符的原有含义。
^ 匹配正则表达式的开始行。
$ 匹配正则表达式的结束行。
\< 从匹配正则表达式的行开始。
\> 到匹配正则表达式的行结束。
[ ] 单个字符,如[A]即A符合要求 。
[ - ] 范围,如[A-Z],即A、B、C一直到Z都符合要求 。
. 所有的单个字符。
* 有字符,长度可以为0。
3 示例
[1] 在多个文件中搜索
grep“string” file1 file2 file3 ...
[2] 标记匹配颜色
grep “string” filename --color=auto
[3] 只列出文件中匹配到的那部分
echo “this is a test line.” | grep -o -E‘[a-z]+\.’ #结果:line.
[4] 打印样式匹配所位于的字符或字节的偏移
echo gun is not unix | grep -b -o “not” #结果:7:not
说明:一行中字符串的字符便宜是从该行的第一个字符开始计算,起始值为0。选项 -b -o 一般总是配合使用。
[5] 制动多个匹配样式
$echo this is a text line | grep -e "this" -e "line" -o #结果如下:
this
line
#或:也可以使用-f选项来匹配多个样式,在样式文件中逐行写出需要匹配的字符。
$cat patfile
aaa
bbb
$echo aaa bbb ccc ddd eee | grep -f patfile -o
#或:使用扩展模式匹配
$echo this is a test line | grep -E “this|line” -o
- 【Linux命令】grep命令
- Linux Grep命令
- Linux grep命令
- LINUX系统GREP命令
- Linux grep命令
- linux中grep命令
- linux命令之grep
- linux grep 命令
- linux命令温故而知新:grep
- linux grep命令
- Linux Grep 命令说明
- linux命令 grep详解
- linux grep命令
- linux grep命令
- Linux Grep 命令说明
- linux grep命令
- linux中的grep命令
- linux grep命令
- Centos 7.2 安装 Ambari 2.2.2 + HDP 2.4.2 搭建Hadoop集群
- Android智能指针浅析
- Java并发编程:线程池的使用
- Ubuntu14.04下MySQL数据库无法远程访问的问题
- AngularJS 剽悍的Ajax和承诺
- Linux grep命令
- MES服务器端配置——系统集成工具
- jquery 选择器 a 更多 简化
- Maven的那些事
- getaddrinfo函数详细解释
- 收藏的优秀网站(备份一下)
- [leetcode] nim game
- Android图片加载库测试
- app开发icon图片自适应方案