Linux三剑客-grep

grep介绍

全拼: Global search REgular expression and Print out line.
作用: 文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,打印匹配到的行。
模式: 有正则表达式的 元字符 及 文本字符 所编写出的 过滤条件;

grep命令是Linux 系统中最重要的命令之一,功能是从 文本文件或管道数据流中筛选匹配的行和数据,如果在配合正则表达式,功能十分强大,是Linux运维人员必备的命令。

grep常用命令

语法:
    grep [options] [pattern] file
    命令  参数        匹配模式  文件数量
                    -i : ignorecase,忽略字符大小写;
                    -o : 进现实匹配到的字符串本身
                    -v ,--invert-match : 显示不能被模式匹配到的行  取反
                    -E : 支持使用扩展的正则表达式元字符
                    -q , --quiet, --silen : 静默模式,即不输出任何信息
一下是一些常用参数

参数选项解释说明
-v取反
-n显示匹配的行和行号
-i不区分大小写
-c只统计匹配到的行的数量
-E使用egrep命令使用正则
--cloear=auto为grep过滤添加颜色
-w只是匹配过滤的单词
-o只输出匹配的内容

grep案例

案例1:查找 /etc/passwd 文件中的root和Root并显示行号
grep -in 'root' /etc/passwd

案例2:查找 /etc/passwd 文件中又多少行中有 root 账户
grep -cw 'root' /etc/passwd

案例3:查找dome2中有几行非空行
grep -vc '^$' dome2    也可以按照后面来  grep -c '.' dome2

案例4:查找dome2中的内容不要空行和注释行并打印行号
grep -vn '^$' dome2 | grep -v '^#'

案例5:查找dome2中的内容以A开头的行
grep '^A' dome2

案例6:查找dome2中的内容以 . 结尾的行
grep '\.$' dome2

案例7:查找 /etc/passwd 中允许登录的账户 (结尾已 /bin/bash的账号都允许登录)
grep '\/bin\/bash$' /etc/passwd

案例8: 查找 dome2文件 任意一个3位字符 包括ou
grep '.ou' dome2

案例9:查找dome2文件中 所有的小写字母
grep [a-z] dome2

案例10: 查找dome2文件中 找出除了 数字以外的字符
grep [^0-9] dome2

案例11:查找dome2文件中 不包含数字的行 并且 不查找空行以及备注
grep -v '[0-9]' dome2 | grep -v '^$' | grep -v '^#'

grep扩展正则表达式案例

案例1:按照扩展正则表达式  查找dome2中的内容不要空行和注释行并打印行号
grep -Evn '^$|^#' dome2 
案例2:按照扩展正则表达式  查找dome2文件中 不包含数字的行 并且 不查找空行以及备注
grep -Ev "[0-9]|^$|^#" dome2   

案例3: 匹配dome2文件中的rr 1次或者多次
grep -E 'rr+' dome2

案例4: 匹配dome3文件中的go?d 0次或者1次
grep -E 'go?d' dome3

案例5: 查找server下面以json结尾 文件名包含m 和 c的文件
find /server/ -name '*.json' | grep -E 'm|c'

案例6:查找 dome3中的grad和gead
grep -E "g(r|e)ad" dome3

案例7:查找dome4中 l..e前后都有并且数据一致的行
grep -E '(l..e).*\1' dome4
(l..e)  表示一组
.*      表示匹配任意字符
\1      在这里表示调用第一个()组 也就是(l..e)  \2表示调用第二个()组 \n表示调用第n个()组

案例8: 查找dome4以a开头以e结尾的所有单词
grep -Eo '\ba/a-zA-Z/*e\b' dome4
\b		单词分割
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值