Linux grep 命令详解,手把手教你写
-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 个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
评论