grep ‘字符串‘ /home/admin/... 搜索指定文件里的包含某字符串
grep -r ‘256‘ /home/admin/logs/ 明确搜索子目录
grep -d skip 忽略子目录
grep -r ‘256‘ /home/admin/logs/* |less 在less上阅读,读完之后关闭返回到原命令行
grep -i pattern files:不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files:只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files:匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配pattern2 的行。
grep ‘2019-01-15‘ * 匹配所有包含该字符串的数据
grep ‘\<2019‘ * 匹配字符串之后的数据
grep ‘\<2019\>‘ 只匹配字符串
常见的grep选项有:
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
grep ‘sort‘ *.doc 在当前目录下所有.doc文件中寻找字符串‘sort’
grep ‘sort it‘ * 在所有文件中查询单词‘sort it’
grep -c ‘2019-01-16‘ configclient.log 返回多少数字,就是包含该字符串的有多少文本
grep -n 1234 111.txt 显示满足匹配模式的所有行行数
grep “1234\>” 111.txt 精确匹配
7. 查询空行,查询以某个条件开头或者结尾的行。
grep -n “^$” 111.txt (返回结果 2: #说明第二行是空行)
grep -n “^abc” 111.txt (#查询以abc开头的行)
grep -n “abc$” 111.txt (#查询以abc结尾的行)
8.匹配特殊字符,查询有特殊含义的字符,诸如$ . ‘ ” * [] ^ | \ + ? ,必须在特定字符前加\
grep “\.” 111.txt (#在111.txt中查询包含”.”的所有行)
grep “my\.conf” 111.txt (#查询有文件名my. c o n f的行)
9.目录的查询
ls -l |grep “^d” (#如果要查询目录列表中的目录)
ls -l |grep “^d[d]“ (#在一个目录中查询不包含目录的所有文件)
ls -l |grpe “^d…..x..x” (#查询其他用户和用户组成员有可执行权限的目录集合)
原文地址:https://www.cnblogs.com/askill/p/10277992.html