六周第一次课(1月15日)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了六周第一次课(1月15日)相关的知识,希望对你有一定的参考价值。

六周第一次课(1月15日)
9.1 正则介绍_grep上

1.作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2.格式
grep [options]

3.主要参数
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。

技术分享图片

技术分享图片

技术分享图片

演示

创建目录,copy文件

技术分享图片

grep "" *

技术分享图片

grep -c 行数

技术分享图片

grep -n 行号

技术分享图片

grep -i 不区分大小写

技术分享图片

grep -v 取反,指不带某字符的行数

技术分享图片

grep -r 子目录或者孙目录所有下面的文件全部遍历一遍

技术分享图片

技术分享图片

技术分享图片

技术分享图片

grep -A2  除了把包含关键词的这行列出来,还会把这一行下面2行列出来

技术分享图片

grep -B2  以上2行

技术分享图片

grep -C 上下2行

技术分享图片



9.2 grep中

技术分享图片


grep "[0-9]" 包含0-9

技术分享图片

grep -v "[0-9]"  不包含0-9

技术分享图片


grep -n "^#" 以#开头的行

技术分享图片

grep -nv "^#"  不以#开头的行

技术分享图片

grep "[^0-9]"  非0-9,其他字符标识,^放在括号里头取非,放外头取开头

技术分享图片

grep "^[^0-9]" 查询列出以非0-9开头的行数

技术分享图片


9.3 grep下

grep "r.o"    .代表任意的一个字符

技术分享图片

grep "o*o"   *表示左边的字符重复0-n次,结尾是o

技术分享图片

grep ".*" 任意字符

技术分享图片

grep  "aming.*bash"

技术分享图片

grep "o\{2\}" 表示o出现2次  \脱义

技术分享图片

grep "o{0,3\}"  o出现0-3次

技术分享图片

egrep =grep -E  扩展的grep能识别,不用脱义

技术分享图片

技术分享图片

oo括起来表示1个整体

技术分享图片


egrep "o+o"  +表示前面字符的1次或多次,*是0次或多次,后面是o

技术分享图片

技术分享图片


grep "o?l"  ?表示前面的字符重复0或1次

技术分享图片

技术分享图片

egrep "root|nologin"   |或者

技术分享图片

技术分享图片







扩展
把一个目录下,过滤所有*.php文档中含有eval的行
grep -r --include="*.php" 'eval' /data/ 


以上是关于六周第一次课(1月15日)的主要内容,如果未能解决你的问题,请参考以下文章

Linux20180425六周第一次课(4月25日)

六周第一次课(3月12日)

Linux学习笔记第六周第一次课(3月12日)

第六周软件工程作业-每周例行报告

Linux20180419五周第一次课(4月18日)

Linux20180419五周第一次课(4月18日)