awk
cat /etc/passwd| awk -F: '{print}' 默认全部字段,即列
cat /etc/passwd| awk -F: '{print $1,$3}' 以:为分隔符取1,3列
cat /etc/passwd| awk -F: '{print $1"\t"$3}' 以:为分隔符取1,3列并且以tab建隔开
df | awk -F"[[:space:]]+|%" '/^\/dev\/sd/{print $5}' 取分区利用率
cat /etc/Passwd| awk -F":" -v OFS=" " '/\<0\>/,/\<50\>/{print $1,$NF}'以:为分隔符取0-50uid用户的shell并以空格隔开
统计/etc/fstab文件中每个文件系统类型出现的次数
cat /etc/fstab |awk -F" " '/^UUID/{print $3}'|sort|uniq -c
统计/etc/fstab文件中每个单词出现的次数
cat /etc/fstab |grep -o '\<[a-z]\+\>'|sort |uniq -c |sort -nr
提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字
echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw" |grep -o [0-9]|xargs
找出ip连接次数大于3的用户并拒绝访问
systemctl enable --now firewalld
while true ;do
ss -nt|awk -F" " '/^ESTAB/{print $(NF)}'|awk -F":" '{print $1}' |sort |uniq -c |while read ccdd iipp ;do
if [ $ccdd -gt 2 ] ;then
iptables -A INPUT -s $iipp -j REJECT
fi
done
sleep 20
done
将jj文件内容中FQDN取出并根据其进行计数从高到低排序
cat jj |awk -F"/" '{print $3}' |sort |uniq -c|sort -nr
**与&& cat /etc/passwd |awk -F":" '$3>100 && $3<1000{print $1,$3}'
或|| cat /etc/passwd |awk -F":" '$3==0 || $3==1000{print $1,$3 }'
非! cat /etc/passwd |awk -F":" '!($3==0){print $1,$3 }'
Awk If语法
awk -F":" '{if($3>=1000)print $1,$3}' /etc/passwd
cat /etc/passwd | awk -F":" '{if($NF=="/bin/bash")print $1,$NF}
cat /etc/fstab |awk '/^UU/{if(NF>5)print $2,$3}'
df -h|awk -F"[[:space:]]+|%" '/\/dev/{if($5>80)print $5}'
awk 'BEGIN{t=100;if(t>80)print "very good"}'
来源:CSDN
作者:Shengyun996
链接:https://blog.csdn.net/Shengyun996/article/details/103939472