如何高效使用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 

posted @ 2019-12-06 21:51  futuretea  阅读(213)  评论(0编辑  收藏  举报