Skip to content

Latest commit

 

History

History
100 lines (70 loc) · 3.98 KB

grep.md

File metadata and controls

100 lines (70 loc) · 3.98 KB

grep

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

grep test *file 

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

grep -r update /etc/acpi 

3.反向查找。查找文件名中包含 test 的文件中不包含test 的行。

grep -v test *test*

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

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

5.在当前目录里第一级文件夹中寻找包含指定字符串的 .in 文件

grep "thermcontact" /.in

6.从文件内容查找与正则表达式匹配的行

grep –e "正则表达式" 文件名

7.查找时不区分大小写

grep –i "被查找的字符串" 文件名

8.查找匹配的行数

grep -c "被查找的字符串" 文件名

9.从文件内容查找不匹配指定字符串的行

grep –v "被查找的字符串" 文件名

10.从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行

find / -type f -name "*.log" | xargs grep "ERROR"

11.从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 "thermcontact" 的行

find . -name "*.in" | xargs grep "thermcontact"

12.查找指定进程

ps -ef|grep java

13.查找指定进程个数

ps -ef|grep -c java

参考资料

https://www.runoob.com/linux/linux-comm-grep.html

https://blog.csdn.net/llljjlj/article/details/89810340