Linux基本命令 -- grep参数说明及常用用法
趁着午休的时间把自己经常使用的一些grep命令整理一下. 方便以后查看.
后续会逐步把awk/sed/find等常用的命令理一理. 增强下记忆.
也算是对得起自己了. ^^
grep常用参数说明
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]
OPTIONS:
-e: 使用正则搜索
-i: 不区分大小写
-v: 查找不包含指定内容的行
-w: 按单词搜索
-c: 统计匹配到的次数
-n: 显示行号
-r: 逐层遍历目录查找
-A: 显示匹配行及前面多少行, 如: -A3, 则表示显示匹配行及前3行
-B: 显示匹配行及后面多少行, 如: -B3, 则表示显示匹配行及后3行
-C: 显示匹配行前后多少行, 如: -C3, 则表示显示批量行前后3行
--color: 匹配到的内容高亮显示
--include: 指定匹配的文件类型
--exclude: 过滤不需要匹配的文件类型
* grep: 传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下:
- -v: 逆反模示, 只输出"不含" RE 字符串之句子.
- -r: 递归模式, 可同时处理所有层级子目录里的文件.
- -q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取 return value, 符合为 true, 否则为 false .)
- -i: 忽略大小写.
- -w: 整词比对, 类似 \<word\> .
- -n: 同时输出行号.
- -c: 只输出符合比对的行数.
- -l: 只输出符合比对的文件名称.
- -o: 只输出符合 RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.)
- -E: 切换为 egrep .
grep常用用法
#多文件查询
grep leo logs.log logs_back.log
#查找即包含leo又包含li的行
grep leo logs.log | grep li
#查找匹配leo或者匹配li的行
grep leo | li logs.log
#显示匹配行前2行
grep leo logs.log -A2
#显示匹配行后2行
grep leo logs.log -B2
#显示匹配行前后2行
grep leo logs.log -C2
#不区分大小写
grep -i leo logs.log
#使用正则表达式
grep -e '[a-z]\{5\}' logs.log
#查找不包含leo的行
grep -v leo logs.log
#统计包含leo的行数
grep -c leo logs.log
#遍历当前目录及所有子目录查找匹配leo的行
grep -r leo .
#在当前目录及所有子目录查找所有java文件中查找leo
grep -r leo . --include "*.java"
#查找并输出到指定文件
grep leo logs.log > result.log
#查找以leo开头的行
grep ^leo logs.log
#查找以leo结尾的行
grep leo$ logs.log
#查找空行
grep ^$ logs.log

被折叠的 条评论
为什么被折叠?



