grep
grep 命令用于在文件中搜索匹配指定模式的行。
grep [option]... pattern [file]...
常用选项
| 选项 | 全称 | 含义 |
|---|---|---|
-c |
--count |
只显示匹配的行数 |
-i |
--ignore-case |
忽略大小写 |
-l |
--files-with-matches |
只显示包含匹配项的文件名 |
-L |
--files-without-match |
只显示不包含匹配项的文件名 |
-n |
--line-number |
显示行号 |
-r |
--recursive |
递归搜索子目录 |
-s |
--no-messages |
不显示错误信息 |
-v |
--invert-match |
反向匹配,显示不匹配的行 |
-w |
--word-regexp |
匹配完整单词 |
-x |
--line-regexp |
匹配整行 |
-E |
--extended-regexp |
使用扩展正则表达式 |
示例
搜索时忽略配置文件中的注释与空行。
grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"
查找日志中的错误。
grep -E "(error|ERROR|Error)" /var/log/syslog
递归搜索包含错误信息的日志,且忽略错误
grep -lrs "error" /var/log/
look
look 命令用于在排序过的文件中查找以指定字符串开头的行。如果未指定文件,默认的搜索文件将是/usr/share/dict/words,列出给定字符串开头的单词
look [option]... string [file]
常用选项
| 选项 | 全称 | 含义 |
|---|---|---|
-d |
--alphanum |
只比较字母、数字和空格字符,不指定file时默认启用 |
-f |
--ignore-case |
忽略大小写 |
示例
在字典中查找以特定前缀开头的所有单词。
look comp
在自定义文件中查找。
look "John" names.txt