三剑客之awk功能及其用法

取出网卡ip地址: 分析问题注意考虑贪婪性 .*
ip a s echo
ip a s echo |sed -n ‘3p’
方法1 sed 正则
[root@oldboyedu59 ~]# ip a s eth0 |sed -n ‘3p’ |sed ‘s#^.*t ##g’
10.0.0.201/24 brd 10.0.0.255 scope global eth0
[root@oldboyedu59 ~]# ip a s eth0 |sed -n ‘3p’ |sed ‘s#^.t ##g’|sed 's#/.$##g’
10.0.0.201

在这里插入图片描述
后向引用的方法取出ip地址
方法2 sed 后向引用
[root@oldboyedu59 ~]# ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ff:79:0e brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feff:790e/64 scope link
valid_lft forever preferred_lft forever
[root@oldboyedu59 ~]# ip a s eth0 |sed -n 3p
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
[root@oldboyedu59 ~]# ip a s eth0 |sed -n 3p |sed -r ‘s#^.t (.)/.KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲\1#g' 10.0.0.20…)#\1#g’
inet
[root@oldboyedu59 ~]# ip a s eth0 |sed -n 3p |sed -r 's#(^.t )(.)(/.
$)#\3#g’
/24 brd 10.0.0.255 scope global eth0
在这里插入图片描述

stat /etc/hosts
取出结果中的644

[root@oldboyedu59 ~]# stat /etc/hosts |sed -n 4p |sed -r 's#^.(0([0-9]+)/.$#\1#g
在这里插入图片描述
获取取o,m
在这里插入图片描述在这里插入图片描述
注意点:
sed -n ‘2p’ oldboy.txt 显示第二行 -ri i放在后面
sed -ni ‘2s#linux|teach#unix#g’ oldboy.txt 修改第二行 所以-i 和-n 尽量不要一起用
sed -ri ‘2s#linux|teach#unix#g’ oldboy.txt ir 先备份再修改,所以尽量 i放在后面
三剑客之awk
在这里插入图片描述

awk 取行号 ‘NR== ‘

[root@oldboyedu59 /oldboy]# awk ‘NR==3’ lidao.txt
102,zhangyao,CTO
[root@oldboyedu59 /oldboy]# awk ‘oldboy/’ lidao.txt
101,oldboy,CEO
oldboy
在这里插入图片描述

awk 取列
[root@oldboyedu59 /oldboy]# awk ‘{print $1,$3}’ oldboy.txt
I oldboy
I linux.

I badminton
my is
our is
my is

not
my am
oldboy oldboy
在这里插入图片描述
[root@oldboyedu59 /oldboy]# awk ‘{print $1"@@@"$3}’ oldboy.txt
I@@@oldboy
I@@@linux.
@@@
I@@@badminton
my@@@is
our@@@is
my@@@is
@@@
not@@@
my@@@am
oldboy@@@oldboy 在这里插入图片描述
显示oldboy.txt的第4行的第1列 第2列和第4列

-F指定分隔符

创建环境
echo ‘I am lidao,my qq is 918391635’ >/oldboy/fs.txt

[root@oldboyedu59 /oldboy]# cat fs.txt
I am lidao,my qq is 918391635
[root@oldboyedu59 /oldboy]# awk -F"," ‘{print $1}’ fs.txt
I am lidao
[root@oldboyedu59 /oldboy]# awk -F"[, ]" ‘{print $3,$7}’ fs.txt
lidao 918391635
在这里插入图片描述

取出网卡ip地址
在这里插入图片描述

[root@oldboyedu59 /oldboy]# awk -F":" ‘$3>999’ /etc/passwd
oldboy❌1000:1000::/home/oldboy:/bin/bash
alex❌1001:1001::/home/alex:/bin/bash

显示/etc/passwd中第4列大于0 并且 第4列小于1000的行
在这里插入图片描述
在这里插入图片描述
[root@oldboyedu59 /oldboy]# df -h |awk ‘$5>10’
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 99G 1.7G 98G 2% /
/dev/sda1 197M 105M 93M 54% /boot
[root@oldboyedu59 /oldboy]# df -h |awk ‘$5+0>10’
/dev/sda1 197M 105M 93M 54% /boot

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44832674/article/details/89421062