通过实例讲解AWK一些基本操作

1.用AWK替换文件中的字符串:
awk '{if ($0~/haakaao/) gsub("haakaao", "wooo haooo"); print$0;}' status.cgi >tmp.cgi; cp -rf tmp.cgi status.cgi ;rm -rf tmp.cgi

 

上面这条命令干了哪些事情呢?

将status.cgi文件中的字符串“haakaao”替换为“wooo haooo”

1.将替换后的内容输出到tmp.cgi

2.再将tmp.cgi拷贝到status.cgi

3. 删掉tmp.cgi

 

2.用AWK打印匹配的行:

[root@localhost yuan]# vi lee

LeeKeng 20

NeKeng 30

NeNeKeng 32

NeNeNeKeng 34

NeeKeng 40

LeNKeng 50

 

[root@localhost yuan]# awk '/(Ne)+Keng/ {print $0}' lee

NeKeng 30

NeNeKeng 32

NeNeNeKeng 34

 

3.用AWK提取"ifconfig"输出结果中的IP地址:

我们知道使用 ifconfig -a 就可以得到所有网络界面的 IP 地址,但是这些 IP 地址都混在其他信息之中。

你需要从中分离出来,下面的脚本就可以帮助你直接输出 IP 地址: ifconfig | awk '/inet/{print $2}' | awk -F: '{print $2}'


 看实例:

[root@CCC-0(MYLINUX-5) /root]

# ifconfig | awk '/inet/{print $2}' | awk -F: '{print $2}'

169.254.0.4

10.56.18.45

169.254.241.4

127.0.0.1

 

4.用AWK实现文件某一列的累加:
有时候我们需要实现对文件里某一列数字的累加,比如如下文件aa里有四行,每行一个数字,如何实现这四个数字的累加呢?

[root@CCC-0(MYLINUX-5) /root]

# cat aa

1

2

3

4

[root@CCC-0(MYLINUX-5) /root]

# awk '{a=a+$1 }END{print a}' aa

10

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值