zoukankan      html  css  js  c++  java
  • Linux 笔记

    博客地址:http://www.moonxy.com

    Linux 系统中提供了大量的命令,从文件目录管理,用户管理,到系统监控等等,功能非常丰富,但有几个是常用且重要的命令。

    1. 命令 grep

    作用:

    grep, egrep, fgrep - print lines matching a pattern,grep用来过滤字符串信息。

    格式:

    grep [options] 'pattern' filename

    常用选项(参数)

    不区分大小写:

    grep用来过滤字符串信息,grep默认对字母大小写敏感,不过可以通过选项对grep屏蔽大小写敏感,该选项为 -i。

    $ grep –i "abc"

    # 结果为abc,ABC, abcde, Abcd 等

    模糊匹配:

    $ grep "abc"

    # 结果为abcd, abcde, abc 等

    全匹配:

    grep -w abc 会打印出包含 abc 词的行,abc 词后面如果还有字母、数字和下划线,则不会被匹配,其他的则都能匹配到

    $ grep -w "abc"

    # 结果为abc,abc++ 等

    递归查询:

    grep -R, -r,--recursive,递归读取每个目录下的所有文件,效果和指定"-d recurse"参数相同。

    显示行号:

    -n 在显示符合范本样式的那一列之前,标示出该列的行编号。

    $ grep -n aa test1.txt
    1:aaaaabbbbb
    2:Adamaa
    5:123aa45

    使用范本:

    -f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让 grep 查找符合范本条件的文件内容,格式为每一列的范本样式。

    $ cat test1.txt |grep -nf test3.txt
    1:aaaaabbbbb
    2:Adamaa
    5:123aa45

    标记匹配颜色:

    --color=auto 或直接 --color,可将参数放在中间,也可放到最后。

    $ grep --color=auto aa test1.txt

    或者

    $ grep --color aa test1.txt

    统计匹配的行数:

    使用 grep -c 或者 grep | wc -l,作用类似,不同的是,如果是查找多个文件,grep -c 会统计每个文件匹配的行数,每行一个文件的列出来,而 wc -l 则列出总的统计数字。另外 grep -c 要比 grep | wc -l 快一点。

    $ grep aa *.txt -c
    test1.txt:3
    test2.txt:2
    test3.txt:1
    test4.txt:0

    $ grep aa *.txt | wc -l
    6

    匹配不符合条件的行,即取反, -v, --invert-match

    [root@ryan linux]# grep -n "jiang" test2
    4:adam:30:xinjiang:123123:python
    7:ada:16:shengjiang:123321:rubby

    [root@ryan linux]# grep -nv "jiang" test2
    1:bob:26:shanxi:138912:linux
    2:
    3:ryan:28:china:23124:java
    5:
    6:emily:20:beijing:35345:scala
    8:jim.green:18:shandong:123321:rubby
    9:tom:16:hebei:123321:ru.bby
    10:http://www.baidu.com/musicdocument,mp3

    还有一些参数,如下:

    -A:后面跟一个数字(有无空格都可以),例如 -A2 表示打印符合要求的行以及下面两行;--After

    -B:后面跟一个数字(有无空格都可以),例如 -B2 表示打印符合要求的行以及上面两行;--Before

    -C:后面跟一个数字(有无空格都可以),例如 -C2 表示打印符合要求的行以及上下各两行;--Context

  • 相关阅读:
    如何结合后台数据库 启动vue项目
    nodejs卸载安装
    mysql安装过程
    VUE-cli脚手架
    css伪类
    element中遇到的表格问题总结
    小程序折叠面板的功能
    vue学习中遇到的onchange、push、splice、forEach方法使用
    vscode好用的扩展及常用的快捷键
    Flutter之SliverAppBar
  • 原文地址:https://www.cnblogs.com/cnjavahome/p/8483526.html
Copyright © 2011-2022 走看看