Linux sed && awk

本文详细介绍了一系列Linux系统下的配置与优化方法,包括使用sed编辑器进行文本替换、删除特定行,利用awk进行数据处理与统计,如求和、筛选、字段操作等。通过具体示例,展示了如何在Linux环境下高效管理和分析系统文件。

sed

sed -i '/exit 0/i\ip route add 10.0.0.0/8 via '$gateway_ip'' /etc/sysconfig/network-scripts/ifup-post 在exit 0上面添加一行
sed -i '/exit 0/i\ip route add 10.0.0.0/8 via '$gateway_ip'' /etc/sysconfig/network-scripts/ifup-post 在exit 0下面添加一行
sed -i '/^$/d' /etc/passwd.bak 去掉文本中的空白行
sed -i '/^\#/d' zookeeper.properties 删除以#开头的行
sed -i '/\&$/d' zookeeper.properties 删除以&结尾的行
sed -e '/^\#/d' -e '/^$/d' zookeeper.properties 删除以#开头的行和空行
sed -i 's/^log.retention.hours=.*$/log.retention.hours=24/' 先匹配某行,然后修改整行
sed -i '/string/d' /etc/passwd.bak 删除匹配行

 awk

cat /tmp/test | tr -d 'gb' | awk '{sum+=$1} END {print sum}'   使用awk求和
awk '{if($1>50) print $0}'

awk '{print $NF}' example1.txt 输出最后一个字段
awk -F : '/^r/{print $1}' /etc/passwd 匹配以r开头的行的第一个字段
awk -F : '$3>=20{print $1,$3}' /etc/passwd 匹配字段3大于等于20的字段
awk -F : '$7~"bash"{print $1,$7}' /etc/passwd 匹配bash用户并打印字段
awk -F : '$7!~"bash"{print $1,$7}' /etc/passwd 匹配不为bash用户并打印字段
awk -F : '$3==0,$7~"nologin"{printf "%-10s%-10s%-20s\n",$1,$3,$7}' /etc/passwd
awk -F : 'BEGIN{print "username ID shell"} $3==0,$7~"nologin"{printf "%-10s%-10s%-5s\n",$1,$3,$7} END{print "End of report."}' /etc/passwd
awk -F : '{if($1=="root") print $1, "admin"; else print $1, "Common User."}' /etc/passwd
awk -F : '{i=1;while(i<=NF) {if(length($i)>=4) {print $i}; i++}}' /etc/passwd 找出长短大于4的字段
netstat -tan | awk '/^tcp/{STATE[$NF]++} END{for (S in STATE) {print S,STATE[S]}}' 显示字段出现的次数
awk '{count[$1]++} END {for (ip in count) {printf "%-20s:%d\n",ip,count[ip]}}' access_log 显示IP及出现的次数

 

转载于:https://www.cnblogs.com/lwhctv/p/10235507.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值