grep 查找文件中符合条件的字符串,与 sed、awk 组成 Linux 的三剑客,语法格式:grep [选项] 关键字 文件名
在学习之前,我们先了解关键字加引号(单引号,双引号),不加引号的区别
关键字加引号,关键字会被看成一个整体,可以包含空格或特殊字符1)单引号如果关键字包含特殊字符($ 和 ' 除外),使用单引号会对特殊字符转义,进行完全匹配搜索2)双引号关键字即使包含特殊符号,使用双引号原样输出3)不加引号 搜索包含关键字中任意单词的文本行
1、打印包含关键字的行
我们找出文件中包含 root 关键字的行,并打印出来
grep "root" test.txt
2、打印以某关键词开头的行
我们将文件中以 root 开头的行打印出来,此时在关键字前面加上 ^ 符号
grep "^root" test.txt
3、打印某关键词结尾的行
我们将以关键字 bash 的行打印出来,在关键词后面加上 $ 符号
grep "bash$" test.txt
4、不区分大小写打印关键字的行
无论关键字中是否包含大大小写,都会打印出来,以下命令结果打印包含 root ,Root ,ROOT 等等行
grep -i "root" test.txt
5、显示行号打印
命令行结果包含关键字的同时,显示行号
grep -n "root" test.txt
6、递归打印
我们搜索所有的文件及子目录,包含关键字 root 的行
grep -r "root"
7、统计匹配某关键字的次数
此时不会打印整行,只会输出包含 root 的次数
grep -c "root" test.txt
8、过滤空白行
我们先输出所有内容,然后键入命令对比后,可以更好展示它们的区别
grep -v "^$" test.txt
9、查找包含多个关键字的行
我们查找包含 root 或者 sync 的行,这里 grep -E 等价于 egrep
grep -E "root|sync" test.txt
上面使用了 Linux 正则表达式,还有更多的 Linux 正则表达式常用元字符如下
以上是常用的用法,下面我使用 GPT 回答该命令的主要用途:
学了就行动起来吧,更多命令,后续更新。
更多命令请前往 :Linux 专栏内容合集
🚀 掌握 Linux 神器 grep! 🚀
你是否曾在海量文件中迷失,找不到关键信息?🤔 grep 来拯救你!作为 Linux 三剑客之一,grep 能快速查找文件中的特定字符串,让你的工作事半功倍!💡
🔍 grep 的 9 大实用技巧: 1️⃣ 打印包含关键字的行
2️⃣ 打印以某关键词开头的行
3️⃣ 打印某关键词结尾的行
4️⃣ 不区分大小写打印关键字的行
5️⃣ 显示行号打印
6️⃣ 递归搜索所有文件及子目录
7️⃣ 统计匹配关键字的次数
8️⃣ 过滤空白行
9️⃣ 查找包含多个关键字的行
📚 更多 Linux 命令,尽在 Linux 专栏!
👉 点击这里,立即学习更多!
#Linux #grep #命令行 #开发工具 #效率提升