grep 命令学习

有必要好好学习总结下grep 命令的用法了

参考鸟哥的linux私房菜 中关于grep命令的讲解进行总结。

使用方法: grep  [-acivn]  [--color=auto]  ‘想要搜索的字符’ filename

参数:

-a: 以text文件搜索数据

-c: 计算字符串出现的次数

-i:  忽略大小写搜索

-n: 输出字符串及对应的行号

-v: 取反操作

--color=auto :可以为字符串设定颜色。默认为auto

 

例子:

last | grep 'root'

       last 当中,有出现 root 的那一行就取出来;

last | grep -v 'root'

      只要没有 root 的就取出!

last | grep 'root' |cut -d ' ' -f1

      只要有 root 就取出,并且仅取第一栏的信息

 

dmesg | grep -n  'qxl'

 

grep -vn 'the' regular_express.txt

  取反 并输出行号

grep -n 't[ae]st' regular_express.txt

  查找‘tast’或‘test’字符串

grep -n '[^g]oo' regular_express.txt

  查找‘oo’ 且前面不是‘g’的字符

grep -n '[^a-z]oo' regular_express.txt

  查找'oo'且前面字符不为小写字母的字符串

grep -n '[^[:lower:]]oo' regular_express.txt

  与上面等价    [:lower:] 代表a-z   所以 [[:lower:]] 就代表 [a-z]

grep -n '[0-9]' regular_express.txt

  查找数字 字符串

grep -n '[[:digit:]]' regular_express.txt

  与上面等价  [:digit:] 代表 0-9 所以[[:digit:]] 代表   [0-9]

 

grep -v '^$' /etc/rsyslog.conf | grep -v '^#'

  # 结果仅有 14 行,其中第一个“ -v '^$' ”代表“不要空白行”,
  # 第二个“ -v '^#' ”代表“不要开头是 # 的那行”喔!

. (小数点):代表“一定有一个任意字符”的意思;
* (星星号):代表“重复前一个字符, 0 到无穷多次”的意思,为组合形态

 

 

转载于:https://www.cnblogs.com/Ray-Lei/p/9590209.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值