Shell字符操作命令——grep、sed、awk

`##grep:用于过滤文本内容

egrep == grep -E

grep 常用选项

选项作用
grep –color自动使用颜色标示匹配的关键词
grep -n匹配出来的行前面显示行号
grep -v对匹配的内容取反,显示未匹配行
grep -c显示匹配的行数
grep -r后面加目录,遍历一个目录,将目录中文件里匹配的行都打印出来

sed:可以过滤、查找和替换

sed 常用选项

选项作用
sed -n不打印未指定的行
sed -r脱义,当正则里有特殊字符需要用 \ 进行转义时
sed -i会把更改保存到文件中,实际改变文件内容,慎用
sed -e可以进行多次匹配,若匹配的关键词在同一行会重复打印

实例:

语句作用
sed -n '10'p 1.txtp表示打印;-n:如果不加,则会打印全部内容,并把指定的那行再打印一次
sed -n '10,20'p 1.txt表示打印第10~20行的内容
sed -n '30,$'p 1.txt表示打印30行到末行的内容
sed -nr '/o{2}/'p 1.txt等价于 sed -n ‘/o\{2\}/’p 1.txt
sed '/fish/'d 1.txt将含有fish的行删除不显示
sed '1,10s/login/LOGIN/g 1.txt将1~10行中的login替换成LOGIN,语法类似于vim中的替换
sed 's/login/LOGIN/g 1.txt全局替换,s=1,$s
sed -r 's#(^[a-z]+)(:.\*:)(.*$)#\3\2\1#g' 1.txt替换位置

awk:可以分段、逻辑判断、数学运算

awk [-F fs] [-v var=value] [-f prog-file | 'program text'] [file...]

其中-F参数用于预先指定前面提到的字段分隔符(还有其他指定字段的方式) ,-v用于预先为awk程序指定变量,-f参数用于指定awk命令要执行的程序文件,或者在不加-f参数的情况下直接将程序语句放在这里,最后为awk需要处理的文本输入,且可以同时输入多个文本文件。

awk 常用选项

选项作用
awk -F ‘:’指定以’:’为分隔符
awk –posix让awk支持正则中的{}
NR表示行数,awk内置变量
NF表示每行段数,awk内置变量

实例:

语句作用
awk '/keyword/' 1.txt匹配keyword并输出
awk -F ':' '$1~/root/' 1.txt以:为分隔符分成若干段,用第1段匹配root并输出
awd -F ':' 'OFS="#" /root/ 1.txtOFS用来指定输出时每段之间的分隔符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值