• 三剑客之grep


    工作原理

      grep命令在一个或多个文件中查找某个字符模式,如果这个模式中包含空格,就必须用引号把它括起来。grep命令中,模式可以是一个被引号括起来的字符串,也可以是单个词。位于模式之后的所有单词都被视为文件名。grep将输出发送到屏幕,它不会对输入文件进行任何修改或变化。grep返回的退出状态为0,表示成功。退出状态为1,表示没有找到。如果找不到指定的文件,退出状态为2。模式可以使用正则表达式。

      grep可以支持常见的所有正则表达式,如:基础正则、扩展正则及Perl正则;通过对相应参数的调整来指定使用的正则表达式,也叫做grep的衍生,如:grep使用-e参数就将grep变成egrep,使用-f参数就将grep变成fgrep;当然也可以关闭正则表达式功效。

    语法

    grep [OPTION]... PATTERN [FILE]...

    参数

    正则请参考https://www.cnblogs.com/guge-94/p/10678890.html

    示例

    1、输出b文件中在a文件相同的行

    grep -f a b

    2、输出b文件中在a文件不同的行

    grep -v -f a b

    3、匹配多个模式

    echo "a bc de" |xargs -n1 |grep -e 'a' -e 'bc'

    4、去除空格http.conf文件空行或开头#号的行

    grep -E -v "^$|^#" /etc/httpd/conf/httpd.conf

    5、匹配开头不分大小写的单词

    echo "A a b c" |xargs -n1 |grep -i a

    6、只显示匹配的字符串

    echo "this is a test" |grep -o 'is'

    7、输出匹配的前五个结果

    seq 1 20  |grep -m 5 -E '[0-9]{2}'

    8、统计匹配多少行

    seq 1 20  |grep -c -E '[0-9]{2}'

    9、匹配b字符开头的行

    echo "a bc de" |xargs -n1 |grep '^b'

    10、匹配de字符结尾的行并输出匹配的行

    echo "a ab abc abcd abcde" |xargs -n1 |grep -n 'de$'

    11、递归搜索/etc目录下包含ip的conf后缀文件

    grep -r '192.167.1.1' /etc --include *.conf

    12、排除搜索bak后缀的文件

    grep -r '192.167.1.1' /opt --exclude *.bak

    13、排除来自file中的文件

    grep -r '192.167.1.1' /opt --exclude-from file

    14、匹配41或42的数字

    seq 41 45 |grep -E '4[12]'

    15、匹配至少2个字符

    seq 13 |grep -E '[0-9]{2}'

    16、匹配至少2个字符的单词,最多3个字符的单词

    echo "a ab abc abcd abcde" |xargs -n1 |grep -E -w -o '[a-z]{2,3}'

    17、匹配所有IP

    ifconfig |grep -E -o "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"

    18、打印匹配结果及后3行

    seq 1 10 |grep 5 -A 3

    19、打印匹配结果及前3行

    seq 1 10 |grep 5 -B 3

    20、打印匹配结果及前后3行

    seq 1 10 |grep 5 -C 3

    21、不显示错误输出

    grep -s 'a' abc

    22、不显示正常输出

    grep -q 'a' a.txt

    23、在Gzip压缩文件中搜索内容

    zgrep -i error /var/log/syslog.2.gz
  • 相关阅读:
    uni-app中使用Echarts绘画图表
    css设置Overflow实现隐藏滚动条的同时又可以滚动
    JS判断在哪一端浏览器打开
    ElementUI分页Pagination自动到第一页
    第203场周赛
    TreeSet使用
    155 最小栈
    234 回文链表
    141 环形链表
    2 两数相加
  • 原文地址:https://www.cnblogs.com/guge-94/p/11008858.html
Copyright © 2020-2023  润新知