如何高效使用awk?
alias如下
# 打印指定列
awk_print(){
awk -v n=${1:-1} '{print $n}'
}
# 按指定列分组统计
awk_group(){
awk -v n=${1:-1} '{++A[$n]} END {for(k in A) print k, A[k]}'
}
# 忽略前几列
awk_after(){
awk -v n=${1:-1} '{for(i=1;i<=$n;i++){$i=""};print $0}'
}
使用案例
查找docker容器id
docker ps -a | grep nginx | awk_print 1
统计tcp连接状态
sudo netstat -pent | awk_group 6
处理日志
cat vhost_error.log | awk_after 5