0
点赞
收藏
分享

微信扫一扫

Linux grep命令详解,手把手教你写

北冥有一鲲 2022-03-18 阅读 55
  • -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。

  • -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。

  • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。

  • -o 或 --only-matching : 只显示匹配PATTERN 部分。

  • -q 或 --quiet或–silent : 不显示任何信息。

  • **\

-r 或 --recursive** : 此参数的效果和指定"-d recurse"参数相同。

  • -s 或 --no-messages : 不显示错误信息。

  • -v 或 --revert-match : 显示不包含匹配文本的所有行。

  • -V 或 --version : 显示版本信息。

  • -w 或 --word-regexp : 只显示全字符合的列。

  • -x --line-regexp : 只显示全列符合的列。

  • -y : 此参数的效果和指定"-i"参数相同。

用法示例


1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

grep test *file

结果如下所示:

$ grep test test* #查找前缀有“test”的文件包含“test”字符串的文件

testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行

testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行

testfile_2:Linux test #列出testfile_2 文件中包含test字符的行

2、以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:

grep -r update /etc/acpi

输出结果如下:

$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi”

#下包含“update”的文件

/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)

Rather than

/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of

IO.) Rather than

/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys–update

3、反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。

查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

举报

相关推荐

0 条评论