sed替换命令使用 | awk常用

 sed命令使用

sed -i 's/原字符串/新字符串/g' *
g的意思是进行全部替换
sed -i 's/kobe/jordan/g' *

sed -i 's/jordan/kobe/2p' *
p的意思是将改行再复制一行

sed -i 's/kobe/jordan/2' *
将每一行第二次出现的kobe替换为jordan!!

替换文本中第一次出现的字符串

 sed -i '0,/kobe/s//jordan/g' kobe.config

========================================================

awk命令使用

打印ps命令输出的第一列数据
ps | awk '{print $1}'

 打印ps 命令输出的第一列,第4列数据,从第二行开始打印

 ps | awk -F " " '{print $1"======"$4}' | tail -n +2
打印kobe.config以:为分隔符的第一列
awk -F ":" '{print $1}' kobe.config

打印kobe.config以:为分隔符的第一列,第五列,第六列
awk -F ":" '{print $1,$5,$6}' kobe.config

打印kobe.config以:为分隔符的第一列,第五列,第六列,中间用------和========连接
awk -F ":" '{print $1"-------"$5"==========="$6}' fuiou.config

打印以/为分隔符的最后一列   NF为awk内置的变量   表示最后一列

awk -F "/" '{print $NF}' /etc/shells

 打印以/为分隔符的最后一列   NF为awk内置的变量   表示最后一列  ,只打印以/开头的内容

^表示以/为开头的,\表示转义

awk -F "/" '/^\// {print $NF}' /etc/shells

在上面命令的基础上去掉重名的  加上sort和uniq参数,因为uniq只会去掉相邻行重复的数据,所以需要先排序再进行去重

awk -F "/" '/^\// {print $NF}' /etc/shells | sort | uniq

打印所有列长度和大于10的数据

awk 'length($0)>10'  /etc/shells

只打印内容等于xxx的那一行  或者不等于xxx的那一行

awk '{if($0=="/usr/bin/sh") print $0}' /etc/shells


awk '{if($0!="/usr/bin/sh") print $0}' /etc/shells

awk命令与for循环结合使用

awk 'BEGIN{for(i=0;i<=24;i++) print i}'

awk 'BEGIN{for(i=0;i<=24;i++) print "这个数字为:",i,"它的平方为:",i*i}'

awk与substr结合,截取掉指定长度的字符串

awk '{print substr($0,5)}' /etc/shells

awk与match和正则表达式结合,只打印符合条件的字符串

只打印/usr开头的字符串,^表示开头,\表示转义

也可以再match前面加上!,表示不以这个为开头

awk 'match($0,/^\/usr/) {print $0}' /etc/shells

也可以再match前面加上!,表示不以这个为开头

awk '!match($0,/^\/usr/) {print $0}' /etc/shells

在print命令后面加上NR,给每一行打印的数据加上行号========>>>更加美观

awk '!match($0,/^\/usr/) {print NR,$0}' /etc/shells

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值