九零不老心
发布于 2019-02-27 / 4 阅读 / 0 评论 / 0 点赞

awk显示除某列(域)外的其他所有列(域)

1、n个列(域)中,如果 想要显示的列较多 而不想显示的列较少 我们如果不想一个个的print $2$3…… 可以试一试 cat localhost.access.log | awk '{ $1=""; $5=""; print $0 }' cat localhost.access.log | awk '{ $1=""; $5="";$NF=""; print $0 }' 2、另外,如果我要打印某列以后的所有列的,可以使用循环,把前N列都赋值为空: cat localhost.access.log | awk '{ for(i=1; i<=2; i++){ $i="" }; print $0 }' 显示中间列 cat localhost.access.log | awk '{ for(i=3; i<=(NF-2); i++){ $i="" }; print $0 }' 3、其他格式 显示倒数第二列 cat localhost.access.log | awk '{print $(NF-1)}' 显示连续列 cat localhost.access.log | awk '{for(i=2; i<=5; i++)printf $i" "; print "" }'