awk编程和颜色处理

分字体颜色和背景颜色,3开头是字体颜色,4开头是背景颜色 (不用刻意去背)
颜色处理中应用变量,这个在监控脚本中会用到
[root@localhost shell]# hello=6
[root@localhost shell]# echo -e "\033[30;47m ${hello} \033[0m"  #记得两边是双引号
 6
不引用变量的格式是这样
[root@localhost shell]# echo -e '\033[30;47m hello \033[0m'         #两边单引号
 hello

awk取倒数第二列
[root@localhost shell]# df -h |awk '{print $(NF-1)}'  # $NF代表最后一列,-1就是倒数第二列, 即 $(NF-1)
Mounted
18%
0%
0%
1%
0%
47%
64%
0%


打印出系统中能登录的普通用户 (系统添加用户会用到)
uid大于或等于1000 并且 shell=/bin/bash
[root@localhost shell]# useradd mawenbin
[root@localhost shell]# cat /etc/passwd |awk -F : '$3>1000 && $NF="/bin/bash" {print $1 "\t" $NF}'   #$3>1000 && $NF="/bin/bash 这是普通用户的条件判断,
nginx    /bin/bash
mawenbin    /bin/bash


只显示/etc/passwd 中UID小于5账户和账户对应的shell,账户与shell之间以逗号分割,而且在所有行添加列名NAME SHELL,在最后一行添加"NAME SHELL"。
[root@localhost shell]# cat /etc/passwd |awk -F : 'BEGIN {print "user \t shell"}$3<5{print $1"\t"$7} END {print "NAME \t SHELL"}'
user      shell
root    /bin/bash
bin    /sbin/nologin
daemon    /sbin/nologin
adm    /sbin/nologin
lp    /sbin/nologin
NAME      SHELL

查看当前内存使用百分比并用红字黑色背景显示
[root@localhost shell]# cat userfree.sh 
#!/bin/bash
echo "use chck men "
use=$(free -m|grep Mem|awk '{print $3}')
total=$(free -m|grep Mem|awk '{print $2}')
useper=$(expr $use \* 100 / $total)
echo -e "当前系统内存使用百分比 : \033[31;40m ${useper}% \033[0m"

[root@localhost shell]# sh userfree.sh 
use chck men 
当前系统内存使用百分比 :  6% 





你可能感兴趣的:(linux运维)