每天学命令-grep文本搜索
本文最后更新于:7 个月前
grep
全称global search regular expression(RE) and print out the line
,全面搜索正则表达式并把行打印出来。这名字就怪吓人,如果熟练掌握正则表达式,配上这命令Linux里可以横着走了。
这个命令参数实在太多,加上正则表达式估计一张纸不够。那就直接上实例吧。
使用实例
在当前目录中,查找后缀带有cpp
字样的文中包含test
字符串的文件,并打印所在行
1 |
|
通过”-v”参数可以打印出不符合条件行的内容。
1 |
|
系统报警显示了时间,但是日志文件太大无法直接 cat 查看。(查询含有特定文本的文件,并拿到这些文本所在的行)。-n
或 --line-number
可以显示符合样式的那一行之前,标示出该行的列数编号。
1 |
|
grep静默输出,不会输出任何信息,如果命令运行成功返回0,失败则返回非0值。一般用于条件测试。
1 |
|
在多级目录中对文本进行递归搜索
1 |
|
配合管道,查找指定的进程信息
1 |
|
查找指定的进程个数,-c
计数
1 |
|
常用正则表达式通配符
| 通配符 | 功能 |
| :—-: | :—-: |
| c* | 将匹配 0 个(即空白)或多个字符 c(c 为任一字符) |
| . | 将匹配任何一个字符,且只能是一个字符 |
| [xyz] | 匹配方括号中的任意一个字符 |
| [^xyz] | 匹配除方括号中字符外的所有字符 |
| ^ | 锁定行的开头 |
| $ | 锁定行的结尾 |
在id.txt
中找到所有以3207开头的数据
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!