grep命令相关技巧

搜索 Tab

grep $'\tprintf(' *.cpp

或者直接在 Shell 命令行中输入 Tab 键:

首先按 Ctrl+V 键,然后再直接按 Tab 键就可以输入制表符。

搜索文件名和内容

有些时候可能需要搜索多个文件路径,并显示文件内容:

grep 搜索

~# grep "" /sys/class/nvme/*/state
/sys/class/nvme/nvme0/state:live
/sys/class/nvme/nvme1/state:live

tail 搜索

~# tail -n +1 /sys/class/nvme/*/state
==> /sys/class/nvme/nvme0/state <==
live

==> /sys/class/nvme/nvme1/state <==
live

匹配字符类型

grep 支持括号中包含类别指定匹配特定类型的字符:

  • [:alnum:]
  • [:alpha:]
  • [:blank:]
  • [:cntrl:]
  • [:digit:]
  • [:graph:]
  • [:lower:]
  • [:print:]
  • [:punct:]
  • [:space:]
  • [:upper:]
  • [:xdigit:]

例如匹配某行起始包含一个或多个空格或 TAB:

~ grep '^[[:space:]]on host' file