grep命令 linux
来源:互联网 发布:网络咸鱼是什么意思 编辑:程序博客网 时间:2024/06/11 23:21
grep命令 linux
grep(global regular expression print,全局正则表达式打印,g代表global,re代表正则表达式,p代表print)。
grep工具能够使用正则表达式,在一个或者多个文件中搜索,确定是否包含给定的字符串,并将匹配的行打印出来。该程序只显示包含所查找的字符串的文件行,不修改搜索到的文件。
grep格式
grep [options] pattern [file-list]
其中pattern可以是一个简单的字符串,也可以是另一种形式的正则表达式。
grep根据指定的options选项,采取不同的动作,查找包含与pattern匹配的字符串的行。
options选项
不带任何选项的grep把找到的包含匹配pattern的行发送到标准输出。当在命令行上指定多个文件时,grep将在显示的每行前带上文件名和冒号。
选项
-c --count 只显示每个文件中包含匹配模式的行数-C n --context=n 对匹配的每一行显示n行上下文-I --ignore-case 使得正则表达式中的小写字母可以匹配文件中的大写-m n --max-count=n 显示包含匹配模式的n行后停止读取输入-n --line-number 在每行前显示行号,文件不必包含行号-v --invert-match 显示不包含匹配模式的行-h --no-filename 当搜索多个文件时,在每行的开始不显示文件名-r --recursive 递归的搜索file-list中的目录,处理目录中的文件-i --files-with-matches 仅显示包含一个或多个匹配模式的文件名, 每个文件名只显示一次,即使包含多个匹配也不例外-f file --file=file 读取文件file,该文件中每一行都包含一个模式, 从输入中查找匹配每个模式的行-s --no-message 如果file-list中文件不存在或不可读,不显示错误信息-x --line-regexp pattern仅匹配整行-w --word-regexp 使用该选项,pattern必须与整个字匹配。当要搜索某个字是文件中 另一个字的子串时有用
pattern中常用选项
\ 忽略正则表达式中特殊字符的原有含义。^ 匹配正则表达式的开始行。$ 匹配正则表达式的结束行。\< 从匹配正则表达 式的行开始。\> 到匹配正则表达式的行结束。[ ] 单个字符,如[A]即A符合要求 。[ - ] 范围,如[A-Z],即A、B、C一直到Z都符合要求 。. 所有的单个字符。* 有字符,长度可以为0
举例
grep "^+" tem.log | grep -v "^+++"
把tem.log文件中开头包含+并且不包含+++的挑选出来
grep "sort" *.doc #见文件名的匹配
多个文件查询
grep -c "48" data.doc #输出文档中含有48字符的行数
行匹配:输出匹配行的计数
grep -n "48" data.doc #显示所有匹配48的行和行号
显示匹配行和行数
grep -vn "48" data.doc #输出所有不包含48的行
显示非匹配的行
grep -vn "48" data.doc #输出所有不包含48的行
显示非匹配的行
grep -i "ab" data.doc #输出所有含有ab或Ab的字符串的行
大小写敏感
0 0
- 【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命令
- jquery的ajax同步和异步
- Linux下PHP删除一个目录下所有文件夹和子目录
- 日媒:奥巴马声称钓鱼岛适用《美日安保条约》,是否真实?
- mysql filesort 的解决方案
- 使用Shell来监控linux系统和进程(1)
- grep命令 linux
- js正则 判断非法字符
- No module named _sqlite3
- NYOJ 715 Adjacent Bit Counts
- Java与C#间json日期格式互转完美解决方案
- 利用反射机制遍历操作实体的所有属性
- 使用Shell来监控linux系统和进程(2)
- java如何打JAR包(转)
- Android控件系列之ProgressBar&在Android中利用Handler处理多线程(★推荐)