1、获取根分区剩余大小
[root@192 ~]# df -h / | awk 'NR==2{print $4}'
效果如图:
2、获取当前机器ip地址
#法一:
[root@server ~]# hostname -I | awk '{print $1}'
效果如图:
#法二:
[root@server ~]# ifconfig | awk 'NR==2{print $2}'
结果如图:
#法三:
[root@server ~]# ip add | awk 'NR==9{print $2}'
结果如图所示:
3、统计出apache的access.log中访问量最多的5个IP
[root@server httpd]# awk '{ip[$1]++} END {for (a in ip) print a,ip[a]}' /var/log/httpd/access_log-20221123
效果如图:
4、打印/etc/passwd中UID大于500的用户名和uid
[root@server httpd]# awk -F: '$3>500{print $1 $3}' /etc/passwd
效果如图:
5、/etc/passwd 中匹配包含root或net或ucp的任意行
[root@server /]# awk -F: '/root|net|ucp/ {print $0}' /etc/passwd
效果如图:
6、请打印出/etc/passwd 第一个域,并且在第一个域所有的内容前面加上“用户帐号:”
[root@server /]# awk -F: 'BEGIN{print "账号:"} NR<=10 {print $1}' /etc/passwd
如图所示:
7、请打印出/etc/passwd 第三个域和第四个域
#取第三域和第四域的前十行
[root@server /]# awk -F: 'NR<=10 {print $3$4}' /etc/passwd
如图:
第三域和第四域分开显示时如图:
8、请打印第一域,并且打印头部信息为:这个是系统用户,打印尾部信息为:“================”
[root@server /]# awk -F: 'BEGIN{print "这个是系统用户:"} NR<=10 {print $1} END{print "================"}' /etc/passwd
如图所示:
9、请打印出第一域匹配daemon的信息.
[root@server /]# awk -F: '$1~/daemon/{print $0}' /etc/passwd
如图所示:
10、请将/etc/passwd 中的root替换成gongda,记住是临时替换输出屏幕看到效果即可.
[root@server /]# sed -n 's/root/gongda/gp' /etc/passwd
如图所示:
11、请同时匹配passwd文件中,带mail或bash的关键字的信息
[root@server /]# awk '/mail|bash/ {print}' /etc/passwd
如图所示: