linux第八天

linux文本处理三剑客之grep

linux 第八天

avatar

grep

avatar

grep在7中是外部命令,是别名。6不是。在7中是等价于grep --color=auto。意思就是自动加注颜色.也可以在6中加上,具体修改路径下的.bashrc文件

grep是一个用来搜索输入的名称,可以是文件,也可以是通过键盘输入进来的标准输入,还支持-作为文件名称。直接输入grep是没用的,需带上字符grep abc,这时候就可以读取键盘输入。你输入的是没有abc连续,那么他不给你返回,比如aqqerf。只有当你输入中包含连续的abc才行,abcsasa这样。

可以带文件:grep UUID /etc/fstab。注意grep没有参数是区分大小写的

grep可以加引号也可以不加,在一些情况下是有区别的:

  • grep whoami` /etc/passwd ` 这样是可以搜索用户名的
  • grep $USER /etc/passwd,他知道这个是个变量,但是加单引号不行,双引号可以(见上图)

avatar

-A3,后面的三行,比如grep -nA3 root /etc/passwd

-e 或 grep -e wang -e wang /etc/passwd

-w,匹配单词,比如说你有一个用户叫basher,你要是搜索grep bash /etc/passwd,bash也会帮你搜索出来,但是grep -w bash /etc/passwd,这样就不会,因为必须整个单词匹配

字母数字,下划线都是作为单词整体,除此之外别的单词都可以作为分割符

gerp -E = egrep(这个支持扩展的正则表达式),grep -F = fgrep(不支持正则)

正则表达式

avatar

avatar

比如我想匹配这出现的数字:grep "[[:digit:]]\+" -o /etc/centos-release

avatar

avatar

非空白或者非空行 grep "^[[:space:]]*$" f1 -v

其实最好久别用\b.

最重要的一点grep是输出所在行,

分组

avatar

avatar

avatar


linux第八天
http://www.kju147.com/2018/12/11/linux第八天/
作者
个人学习
发布于
2018年12月11日
许可协议