linux grep命令
G
eneral R
egular E
xpression P
arser (grep)是每个Linux管理员使用的最强大的命令之一。
使用它,我们应该能够搜索文件内容并在命令输出中执行搜索
在本教程中,我们将通过命令使用,向我们展示一些应该节省大量时间的有用和有用的示例。
安装grep
要开始使用该命令,请先检查系统是否已在系统上安装。
如果未安装,请在终端中运行以下命令。
sudo apt install grep
我们可以检查命令版本以确保已成功安装。
grep --version
语法
grep [option/s] [pattern] [file]
[选项/s]可以是:
- -i>用于确保搜索模式无论其均方面的敏感度如何。
- -c>预览,匹配模式的计数。
- -v>选择不包含给定模式的非匹配行。
- -n>预览行号。
其中[模式]是正则表达式,[文件]是我们要在其内容中搜索的文件。
例子
我们将在我们的案例方案示例中创建一个用于使用的测试文件。
vi grep_igi
创建一个新文件
粘贴Grep_igi文件中的以下行:
Hi Guys, i am hend. And this is a tutorial file for the usage of the grep commad. The next 2 lines are empty lines. Hope You Will Enjoy This Tutorial. Bye.
示例1.要在单个文件中搜索字符串。
grep "hend" grep_igi
示例2.让我们从Grep_igi文件中制作副本,稍后将使用它。
cp grep_igi grep_igi2
现在要在多个文件中搜索特定字符串,请使用下一个命令。
grep "hend" grep_igi grep_igi2
在多个文件中搜索某个字符串
示例3.无论其大小写如何,要在文件中搜索某个字符串。
grep -i "tutorial" grep_igi
搜索不区分大小写的字符串
示例4.无论大小写的情况如何,要在文件中搜索某个模式。
grep -i "the.*lines" grep_igi
这意味着搜索任何行以"the"字符串"并以"lines"结尾。
其中*表示零个或者多个字符,而-i选项是忽略"the"和"lines"的大小写。
但是,如果我们没有使用-i选项,则不会产生结果。
grep "the.*lines" grep_igi
使用正则表达式和区分大小写搜索
示例5.要在我们搜索模式后显示两行。
grep -A 2 "hend" grep_igi
在某个字符串之后预览行数
示例6.在我们正在搜索的模式之前显示一行。
grep -B 1 "hend" grep_igi
在某个字符串之前预览行数
示例7.要在我们正在搜索的模式周围显示一行(或者之后)。
grep -C 1 "hend" grep_igi
示例8.要在当前目录中存在的所有文件中搜索某个字符串。
grep -r "Enjoy" *
在当前目录中搜索某个字符串
示例9.要显示不包含给定字符串的所有行。
grep -v -i -e "Enjoy" grep_igi
预览行不包含给定字符串
示例10.要显示包含要搜索的字符串的所有行的计数。
grep -c "this" grep_igi
匹配字符串的预览计数
示例11.要显示包含我们正在搜索的字符串的所有行的计数,无论均值均感受。
grep -c -i "this" grep_igi
预览匹配shell 体不敏感字符串的计数
示例12.显示未匹配模式的计数。
grep -v -c "this" grep_igi
UN匹配字符串的预览计数
示例13.要显示包含要搜索的字符串的所有文件名。
grep -l "this" *
预览包含某个字符串的文件名
示例14.显示行数。
grep -n "this" grep_igi
示例15.要搜索特定命令的输出。
例如,列出由"igi"用户启动的所有运行进程。
ps aux | grep igi