linux grep 查找文件中关键字

发布时间 2023-05-17 11:03:50作者: 朱思年
grep  [选项]  {关键字}  文件名

选项:

-i:忽略大小写
-n:输出关键字行号
-v:取反,不输出包含关键字内容
-r:递归查找,用于查找多个文件是否包含某个关键字
-E:使用正则表达式

查找 file.txt 文件中匹配关键字的-所有行
grep "关键字1" file.txt
查找 file.txt 文件中匹配多个关键字的行
grep "关键字1" file.txt |grep "关键字2" |grep "关键字3"
在多个文件中查找, 在/home/user/test/文件夹中所有.txt 结尾的文件中查找
grep "关键字1" /home/user/test/*.txt
查找 file.txt 文件中匹配关键字的-前10行
grep "关键字1" file.txt |head -n 10
查找 file.txt 文件中匹配关键字的-后10行
grep "关键字1" file.txt |tail -n 10
查找 file.txt 文件中匹配关键字的-前10行中的后4行(6~10)
grep "关键字1" file.txt ||head -n 10 |tail -n 4
查找 file.txt 文件中匹配关键字的-第6~10行(相当于上面的 head -n 10 |tail -n 4)
grep "关键字1" file.txt |sed -n "6,10p"
查找 file.txt 文件中匹配关键字的-第6~10行并输出到result.txt文件
grep "关键字1" file.txt |head -n 10 |tail -n 4 >> result.txt
使用正则表达式匹配关键字(-E), 查找以b开头的行
grep -E '^b' /home/user/test/*.txt|head -n 10
查找 file.txt 文件中匹配关键字的行, 并显示行号(-n)
grep -n '关键字1' /home/user/test/*.txt|head -n 10

以上就是 grep 命令查找文件内容基本用法, 如果这里的满足不了你, 更多高级用法请自行百度吧