六周第一次课 2017.11.20 正则介绍_grep上、grep中、grep下、diff对比命令 

9.1 正则介绍_grep上

grep过滤指定关键词,最简单的用法:grep ‘关键词’ 文件名,

-c行数

-n显示行号

-i不区分大小写

-v取反(过滤出不带关键词的行)

-r遍历所有子目录(如下图就是列出etc目录下所有含有root字符的内容)

-A后面跟数字,过滤出符合要求的行以及下面n行

-B后面跟数字,过滤出符合要求的行以及上面n行

-C后面跟数字,过滤出符合要求的行以及上下面n行

9.2 grep中

过滤出passwd文件里带有数字的行。

过滤出inittab文件里开头不带有#号的行。

过滤出inittab文件里非纯数字的行。(^放到方括号里面就是“取反”或者“非”的意思)

9.3 grep下

过滤出inittab文件里含有r.o的所有行。(点代表任意一个字符)

过滤出passwd文件里含有o或oo或ooo等所有行,(*号表示左边的字符重复多少次,如果是重复0次,那么就是一个o,因为还要加上右边的一个o)

过滤出passwd文件里含有任意一个字符重复任意次的行,(结果其实就是列出所有,“.*”代表所有的字符)

过滤出passwd文件里以aming开头,并且以bash结尾的行。

过滤出passwd文件里出现重复的两个o(就是oo)的行。{}表示前面字符的重复范围。

意思同上。

意思同上。

过滤出passwd文件里出现重复的两个oo(就是oooo)的行。小括号表示里面的是一个整体。

加号意思和*号差不多,不过*号是0-n次,而加号表示1-n次。

加号后面也可以跟其他字符:

问号表示前面的字符重复0次或者1次。

竖线表示或者的意思。

grep -wf 1.list 2.list #输出两个文件相同行
grep -f 1.list 2.list #输出2.list中包含1.list中行的行
grep -vwf 1.list 2.list #在2.list中删除与1.list相同的行并输出

 

diff命令 

1>Diff命令的功能
Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

2>语法
diff [options] file1 file2

该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用”-”表示file1或file2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。

3>[options]主要参数

-a:将所有文件当作文本文件来处理。

-b或–ignore-space-change  忽略空格造成的不同。

-B或–ignore-blank-lines  忽略空行造成的不同。

-c:使用纲要输出格式。

-H:利用试探法加速对大文件的搜索。

-I:忽略大小写的变化。

-n –rcs:输出RCS格式。

-N或–new-file  在比较目录时,若文件A仅出现在某个目录中,会显示:Only in目录;文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

-r或–recursive  比较子目录中的文件。

-u,-U<列数>或–unified=<列数>  以合并的方式来显示文件内容的不同。

4>使用方法的实例说明

例如: diff /usr/xu mine

把目录/usr/xu 中名为mine的文件与当前目录中的mine文件进行比较。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值