Linux学习笔记之正则表达式(grep,sed,awk)

grep

[a-z]
[A-Z]
[0-9]
. 单个任意字符
* 前面字符重复的次数>=0
+ 前面字符重复的次数>=1
?前面字符重复的次数 0 or 1
{n,m} 前面字符重复的次数n到m次

连用:[A-Z][0-9]

grep '[0-9]' /etc/passwd 查找含一位数的行
grep '[0-9][0-9][0-9]' /etc/passwd 查找含三位数的行
grep ':[0-9][0-9][0-9]:' /etc/passwd 查找含:三位数:格式的行
grep ':[0-9][0-9][0-9]:7' /etc/passwd 查找含:三位数:7格式的行

grep '^r..n$' /etc/passwd 查找含从r开始到n结束并且中间有两个任意字符的行
grep '^r.*n$' /etc/passwd 查找含从r开始到n结束并且中间有任意个字符的行(*作用于.上)

grep 'o\{2\}' /etc/passwd 查找含o出现两次的行,这里{和}要通过\转义

sed 

sed '匹配条件/执行的动作' /etc/passwd
或者
cat /etc/passwd | sed '匹配条件/执行的动作'
替换:sed 's/old/new/g' 找到含old的行并整行替换成new,不加g的话只替换每行第一次出现的位置
sed实例:取IP:ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | sed 's/inet addr://g' |sed 's/Bcast.*//g'

awk


awk -F: '{print $0}' /etc/passwd  以:为分隔符,$0表示完整的行,$1表示取第一列,$2第二列…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值