grep的使用

197 阅读1分钟

语法

grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

常用参数

  • -a : 不要忽略二进制的数据。
  • -c : 计算符合样式的列数。
  • -i : 忽略字符大小写的差别。
  • -n : 在显示符合样式的那一行之前,标示出该行的列数编号。
  • -r : 递归搜索目录。
  • -v : 显示不包含匹配文本的所有行。

实例

在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。

grep test *file

以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容

grep -r update /etc/acpi

查找文件名中包含 test 的文件中不包含test的行

grep -v test test

系统报警显示了时间,但是日志文件太大无法直接 cat 查看。(查询含有特定文本的文件,并拿到这些文本所在的行)

grep -n '2019-10-24 00:01:11' *.log