Linux非常常用的grep命令实例

grep是最好的命令行工具在文件中搜索文本。它还用于递归地搜索包含特定文件的文件。grep在有多个命令行选项的功能非常强大。一般来说,所有的系统管理员每天都必须在工作中使用这些命令。在本教程中,你会知道,我怎么在Linux使用grep命令在文件中搜索文本。

如何用grep搜索文本

搜索文本“rahul”在/etc/passwd文件。它将显示所有包含搜索文本的匹配行。

$ grep "rahul" /etc/passwd

grep也可以使用管道输入法

$ cat /etc/passwd | grep "rahul" 

使用grep搜索不区分大小写

使用-i选项告诉grep在搜索忽略大熊写。这意味着它将寻找Rahul, RAHUL, raHUl 等

$ grep -i "rahul" /etc/passwd

使用grep搜索多个词

使用命令grep文件搜索多个字符串是用 | 分离

$ grep "rahul|tecadmin|root" file

使用grep在多个文件中搜索

grep可以搜索多个文件以及。搜索“rahul”在file1 file2 file3…..

$ grep "rahul" file1 file2 file3 

在目录中的所有文件中搜索

使用通配符(wildcard characters),您可以在目录的所有文件中搜索字符串 或 者用特定的后缀名搜索文件

$ grep "rahul" *            #Search in all files
$ grep "rahul" *.txt        #Search in specific extension files

统计匹配单词的行数

使用 –c  打印搜索字符串在文件中匹配的总行数。

$ grep -c "rahul" file

输出匹配的行数

使用  -n 输出匹配的一行内容及行号

$ grep -n "rahul" file

只匹配整行

使用 –x 输出匹配的整行

$ grep -x "rahul" file

用 grep 反向搜索

-v 只显示那些与搜索字符串不匹配的行

$ grep -v "rahul" /home/

在多个文件中递归地搜索

grep命令也可以在多个文件中递归搜索。使用-r选项进行递归搜索

$ grep -r "rahul" /home/

仅输出匹配的内容文件名

使用-l 输出匹配的文件名。在大量搜索内容时,用递归搜索非常有用。

$ grep -rl "rahul" /home/

在特定的文件后缀名中 grep进行递归的搜索

–include=PATTERN,仅在特定的文件后缀名中进行递归的搜索

$ grep -R --include="*.php" "rahul" /home/

from:https://tecadmin.net/grep-command-in-linux/

0 条评论
发表一条评论