文本处理三剑客之grep 本文最后更新于:2023年12月5日 晚上 文本搜索工具,对目标文本逐行进行匹配检查,打印匹配的行。 grep [OPTION]... PATTERN [FILE]... -m n # 匹配n次后停止 -v # 对匹配的内容取反 -i # 忽略大小写 -n # 显示匹配内容的行号 -c # 统计匹配的行号 -o # 仅显示匹配的内容,而不是整行 -q # 静默模式,不输出任何信息 -A n # after,匹配到的每行,再向下多匹配n行 -B n # before,匹配到的每行,再向上多匹配n行 -C n # context,匹配到的行,再向上和向下各多匹配n行 -e # 当搜索条件有多个时,使用-e,多个搜索条件之间是或关系 -w # 匹配整个单词,例如我想匹配root,不加-w会匹配到rooter,加-w就不会出现这种情况 - -E # 相当于egrep - -F # 支持正则表达式,相当于fgrep -f file # 搜索条件可以写在文件中,每行是一个搜索条件,多个搜索条件之间是或的关系 - -r # 递归目录,但不处理软链接 - -R # 递归目录,处理软件链接 -e 示例: lujinkai@Z510:~/data/test$ grep -e 'root' -e 'ljk' passwd root:x:0:0:root:/root:/bin/bash ljk:x:1001:1001::/home/ljk:/bin/bash -w 示例: -f file 示例: lujinkai@Z510:~/data/test$ echo '^root' > re.txt lujinkai@Z510:~/data/test$ cat re.txt ^root lujinkai@Z510:~/data/test$ grep -f re.txt passwd root:x:0:0:root:/root:/bin/bash 练习1.取两个文件的相同行 # 思路:使用-f参数,将第一个文件作为搜索条件 grep -f f1.txt f2.txt 2.分区利用率最大的值 df -h | grep '^/dev/sd' | grep -Eo '[0-9]{,3}%' | tr -d % | sort -nr | head -n1 2.哪个 IP 和当前主机连接数最多的前三位 3.连接状态的统计 4.算出所有人的年龄总和 lujinkai@Z510:~/data/test$ cat age.txt xiaoming=20 xiaohong=18 xiaoqiang=22 lujinkai@Z510:~/data/test$ grep -Eo '[0-9]{,2}' age.txt | paste -s -d+ | bc 运维 > 基础 > 文本处理 #文本处理 #grep 文本处理三剑客之grep http://blog.lujinkai.cn/运维/基础/文本处理/文本处理三剑客之grep/ 作者 像方便面一样的男子 发布于 2020年12月9日 更新于 2023年12月5日 许可协议 文本处理三剑客之sed 上一篇 文本处理三剑客之awk 下一篇