sed,grep,awk以及一些正则

记录一些会用到的sed,grep,awk以及一些正则,省得每次都重新写.

ipv4正则表达式:

^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$

ipv6正则表达式

^([\da-fA-F0-9]{1,4}(:{1,2})){1,15}[\da-fA-F0-9]{1,4}$

sed 在匹配行前添加内容

sed -i '/Matched Keyword/i\New Inserted Line' myfile.txt

sed 在匹配行后添加内容

sed -i '/Matched Keyword/a\New Inserted Line' myfile.txt

sed 在匹配行前添加内容,只匹配第一次

sed -i "/Matched Keyword/{x;/^$/s/^/'New Inserted Line'/p;x}" myfile.txt

sed 在匹配行后添加内容,只匹配第一次

sed '0,/Matched Keyword/s//Matched Keyword\nNew Inserted Line/' myfile.txt

sed 在指定内容后添加

sed '/bridge-utils-1.2-/a abc' install.log

通过awk过滤出某个关键字作为grep的参数使用,并把grep的结果高亮显示

 awk '{print $1}' /tmp/test.txt | xargs -n 1 -I pattern grep -rn pattern socket_msg.log  --color=auto

awk分割多个

awk -F",;|[,;]" '{print $1}' file

awk 列计算

awk 'BEGIN{total=0}{total+=$1}END{print total}'

grep多个,或(or)操作

grep -E '123|abc' filename 

grep多个,与(and)操作

grep -E 'pattern1.*pattern2' filename  
当然,也可以多次grep

内存前10的进程

ps auxw|head -1;ps auxw|sort -rn -k4|head -10

通过sed给nagios主机批量添加监控服务
利用sed给可以文件的指定内容后追加内容,实现批量添加,示例以_graphiteprefix load做标记,把要添加的监控配置拆分成一行行添加,注意添加顺序,以及配置文件的路径,要保证添加后书写正确。

sed -i '/_graphiteprefix  load/a \    check_command       check_nrpe!check_iptables' /usr/local/nagios/etc/hosts/*.cfg
sed -i '/_graphiteprefix  load/a \    service_description iptables' /usr/local/nagios/etc/hosts/*.cfg
sed -i '/_graphiteprefix  load/a \    host_name   172.16.93.228' /usr/local/nagios/etc/hosts/*.cfg
sed -i '/_graphiteprefix  load/a \    use         generic-service' /usr/local/nagios/etc/hosts/*.cfg
sed -i '/_graphiteprefix  load/a \define service{' /usr/local/nagios/etc/hosts/*.cfg
sed -i '/_graphiteprefix  load/a \    }' /usr/local/nagios/etc/hosts/*.cfg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值