awk题目:
1、获取根分区剩余大小
2、获取当前机器ip地址
3、统计出apache的access.log中访问量最多的5个IP
4、打印/etc/passwd中UID大于500的用户名和uid
5、/etc/passwd 中匹配包含root或net或ucp的任意行
7、请打印出/etc/passwd 第一个域,并且在第一个域所有的内容前面加上“用户帐号:”
8、请打印出/etc/passwd 第三个域和第四个域
9、请打印第一域,并且打印头部信息为:这个是系统用户,打印尾部信息为:“================”
10、请打印出第一域匹配daemon的信息.
11、请将/etc/passwd 中的root替换成gongda,记住是临时替换输出屏幕看到效果即可.
13、请同时匹配passwd文件中,带mail或bash的关键字的信息
1、获取根分区剩余大小
[root@localhost ~]# df -h / | awk '/\//{print $4}'
33G
2、获取当前机器ip地址
[root@localhost ~]# ifconfig | awk 'NR==2{print $2}'
192.168.210.128
3、统计出apache的access.log中访问量最多的5个IP
[root@localhost ~]# cat /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c | sort -t" " -k1 -nr | head -3
1 192.168.210.128
4、打印/etc/passwd中UID大于500的用户名和uid
[root@localhost ~]# awk -F: 'BEGIN {printf "%-20s %-5s\n","user","uid"} $3>500{printf "%-20s %-5s\n",$1,$3}' /etc/passwd
user uid
nobody 65534
systemd-coredump 999
polkitd 998
geoclue 997
pipewire 996
unbound 995
gluster 994
chrony 993
saslauth 992
libstoragemgmt 991
dnsmasq 983
sssd 982
cockpit-ws 981
cockpit-wsinstance 980
colord 979
setroubleshoot 978
flatpak 977
clevis 976
gnome-initial-setup 975
czc01 1000
rhel 1001
user1 1002
user2 1234
test 1235
5、/etc/passwd 中匹配包含root或net或ucp的任意行
[root@localhost ~]# awk -F: '/root|sys|tcp/{print}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
flatpak:x:977:977:User for flatpak system helper:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
7、请打印出/etc/passwd 第一个域,并且在第一个域所有的内容前面加上“用户帐号:”
[root@localhost ~]# awk -F: '{print "用户账号:"$1}' /etc/passwd
8、请打印出/etc/passwd 第三个域和第四个域
awk -F: '{printf "%-5s %-5s\n",$3,$4}' /etc/passwd
9、请打印第一域,并且打印头部信息为:这个是系统用户,打印尾部信息为:“================”
awk -F: 'BEGIN {print "====这是系统用户===="} $3>0 && $3<999 {print $1} END {print "===================="}' /etc/passwd
10、请打印出第一域匹配daemon的信息.
[root@localhost ~]# awk -F: '$1~"daemon" {print}' /etc/passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
11、请将/etc/passwd 中的root替换成gongda,记住是临时替换输出屏幕看到效果即可.
awk '{gsub(/root/,"ROOT");print}' /etc/passwd
13、请同时匹配passwd文件中,带mail或bash的关键字的信息
awk '/mail|bash/{print}' /etc/passwd