2018-1-15 Linux学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-1-15 Linux学习笔记相关的知识,希望对你有一定的参考价值。

9.1 正则介绍grep(上)

正则就是一串有规律的字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.

其实正则表达式,只是一种思想,一种表示方法。只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串,常用的工具有grep, sed, awk.

grep语法:
grep [-cinvABC] ‘word‘ filename
-c : 打印符合要求的行数
-i : 忽略大小写
-r : 遍历所有子目录
-n : 在输出符合要求的行的同时连同行号一起输出
-v : 打印不符合要求的行
-A : 后跟一个数字(有无空格都可以),例如–A2则表示打印符合要求的行以及下面两行
-B : 后跟一个数字,例如–B2 则表示打印符合要求的行以及上面两行
-C : 后跟一个数字,例如–C2 则表示打印符合要求的行以及上下各两行

9.2/9.3 grep(中)(下)

grep/egrep示例
grep -n ‘root‘ /etc/passed ----->过滤出所有包含root的行
grep -nv ‘nologin‘ /etc/passwd ----->过滤出所有不包含nologin的行
grep ‘[0-9]‘ /etc/inittab ----->过滤出所有包含数字的行
grep -v ‘[0-9]‘ /etc/inittab ----->过滤出所有不包含数字的行
grep -v ‘^ #‘ test.txt ----->把所有以‘#’开头的行去除
grep -v ‘^#‘ test.txt|grep -v ‘^$‘ ----->去除所有以‘#’开头的行和空行
grep ‘^[^a-zA-Z]‘ test.txt ----->过滤出所有不是以a-zA-A字符开头的行
grep ‘r.o‘ test.txt ----->把r和o之间有一个任意字符的行过滤出来,其中.表示任意一个字符
grep ‘oo*‘ test.txt ----->\把包含零个或多个oo字符的行过滤出来
grep ‘.*‘ test.txt -----> .把所有包含零个或多个任意字符(空行也包括)的行过滤出来****
grep ‘o{2}‘ /etc/passwd ----->过滤出包含有两个o 即‘oo‘的行
egrep ‘o{2}‘ /etc/passwd ----->过滤出包含有两个o 即‘oo‘的行
egrep ‘o+‘ /etc/passwd ----->筛选含有一个或一个以上o字符串的行
egrep ‘oo?‘ /etc/passwd ----->筛选含有零个或一个oo字符串的行
egrep ‘root|nologin‘ /etc/passwd ----->筛选出含有root或者nologin字符串的行
egrep ‘(oo){2}‘ /etc/passwd ----->筛选出含有2个oo字符串的行

注意: ^放在[]外面和里面的含义是不同的,放外面表示以..开头;放里面是取非之意,例如[^a]表示除a字符之外的字符.
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

以上是关于2018-1-15 Linux学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

linux学习笔记一

Linux学习笔记

Linux学习笔记

Linux学习笔记

Linux学习笔记(第一周)

Linux学习笔记