ubuntu grep 使用
备注:中间部分内容来自。
·
记录一下grep的 使用,方便查找
grep [选项] [pattern] [file]
命令 参数 匹配模式 文件【可用/可不用】
常用
-i:忽略大小写
-n:显示匹配行的行号
-r:递归搜索子目录
-o:只显示匹配的行【查询文件中是否存在匹配的内容】
-c:只统计匹配的行数
-v:只显示不匹配的行
-E:使用扩展正则表达式
-F:禁用正则表达式,使用固定字符串匹配
-w:只匹配整个单词,而不是单词的一部分
-A:显示匹配行之后的若干行
-B:显示匹配行之前的若干行
-C:显示匹配行前后的若干行
一般经常使用的命令:
grep -inr xxx 【梯归查询此目录下是否存在匹配不分大小写的xxx项的文件的行号】
正则表达式
【文件和命令行在同一目录下】
【grep -in "^i" xxx.txt 】【查询xxx.txt中I 或者 i 开头的行】【^代表后一个字符开头,必须与字符搭配使用】
【grep -n "\.$"】【查询以.结尾的行】
【grep -n "^$" xxx.txt】【查询文件的空行】【^$代表空行】
【grep -n "." xxx.txt 】 【查询文件空行之外的行】【.代表任意一个字符】
【grep -n "s*" xxx.txt】 【查询文件中s所在的行】【*代表前一个字符出现的次数,必须与字符搭配使用】
【grep -n ".*" xxx.txt 】 【查询文件内容 等同与cat 】【.*代表所以内容】
【grep -n "^.*x" xxx.txt 】 【查询文件中含有x的行】【以任意字符开头,以x结尾】
【grep -no "yes" xxx.txt 】【 查询文件中是否含有yes的行】
【grep -c "yes" xxx.txt 】【查询文件中yes有几行】
实例:
查看log:
【grep -ino Exception monkey.log 】
【grep -inr Exception monkey.log 】
【grep --help】
模式选择和解释:
-E、 --扩展的regexp PATTERN是一个扩展的正则表达式
-F、 --固定字符串PATTERN是一组换行的字符串
-G、 --basic regexp PATTERN是一个基本的正则表达式(默认值)
-P、 --perl regexp PATTERN是一个perl正则表达式
-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作
-f, --file=FILE 从 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小写
-w, --word-regexp 强制 PATTERN 仅完全匹配字词
-x, --line-regexp 强制 PATTERN 仅完全匹配一行
-z, --null-data 一个 0 字节的数据行,但不是空行
杂项:
-s, --no-messages 不显示错误信息
-v, --invert-match 选中不匹配的行
-V, --version 显示版本信息并退出
--help 显示此帮助并退出
输出控制:
-m, --max-count=<次数> 得到给定<次数>次匹配后停止
-b, --byte-offset 输出的同时打印字节偏移
-n, --line-number 输出的同时打印行号
--line-buffered 每行输出后刷新输出缓冲区
-H, --with-filename 为输出行打印文件名
-h, --no-filename 输出时不显示文件名前缀
--label=<标签> 将给定<标签>作为标准输入文件名前缀
-o, --only-matching 只显示匹配PATTERN 部分的行
-q, --quiet, --silent 不显示所有常规输出
--binary-files=TYPE 设定二进制文件的TYPE 类型;
TYPE 可以是`binary', `text', 或`without-match'
-a, --text 等同于 --binary-files=text
-I 等同于 --binary-files=without-match
-d, --directories=ACTION 读取目录的方式;
ACTION 可以是`read', `recurse',或`skip'
-D, --devices=ACTION 读取设备、先入先出队列、套接字的方式;
ACTION 可以是`read'或`skip'
-r, --recursive 等同于--directories=recurse
-R, --dereference-recursive 同上,但遍历所有符号链接
--include=FILE_PATTERN 只查找匹配FILE_PATTERN 的文件
--exclude=FILE_PATTERN 跳过匹配FILE_PATTERN 的文件和目录
--exclude-from=FILE 跳过所有除FILE 以外的文件
--exclude-dir=PATTERN 跳过所有匹配PATTERN 的目录。
-L, --files-without-match 只打印没有匹配上的<文件>的名称
-l, --files-with-matches 只打印有匹配的<文件>的名称
-c, --count 只打印每个<文件>中的匹配行数目
-T, --initial-tab 行首制表符对齐(如有必要)
-Z, --null 在<文件>名最后打印空字符
文件控制:
-B, --before-context=NUM 打印文本及其前面NUM 行
-A, --after-context=NUM 打印文本及其后面NUM 行
-C, --context=NUM 打印NUM 行输出文本
-NUM 等同于 --context=NUM
--color[=WHEN],
--colour[=WHEN] 使用标记高亮匹配字串;
WHEN 可以是“always”、“never”或“auto”
-U, --binary 不要清除行尾的 CR 字符(MSDOS/Windows)
备注:中间部分内容来自https://blog.csdn.net/m0_50370837/article/details/125068528
更多推荐
已为社区贡献1条内容
所有评论(0)