【Linux】awk想打印制定列以后的所有列

今天偶然研究awk,有一个文件,文件内容是全篇的1 2 3 4 5 6 7 8 9 0 

现在想打印除了第一列意外的所有列

文件内容:

[root@localhost ~]# cat test.txt
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0

执行代码:

awk '{ $1=""; print $0 }' test.txt 

执行的结果是:

[root@localhost ~]# awk '{ $1=""; print $0 }' test.txt 
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0

发现,果然少了第一列

但是如果想少去第二列,可以将$1修改为$2

[root@localhost ~]# awk '{ $2=""; print $0 }' test.txt 
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0
1  3 4 5 6 7 8 9 0

同样,最后一列的话,可以把$2修改为$NF

[root@localhost ~]# awk '{ $NF=""; print $0 }' test.txt 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 

还有一种方法是在awk中写一个循环即可

[root@localhost ~]# awk '{ for(i=1; i<=1; i++){ $i="" }; print $0 }' test.txt 
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0
 2 3 4 5 6 7 8 9 0

同样,如果你想输出$6到最后的话,可以这样写

[root@localhost ~]# awk '{ for(i=1; i<=5; i++){ $i="" }; print $0 }' test.txt 
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0
     6 7 8 9 0

 

posted @   zclinux  阅读(144)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
点击右上角即可分享
微信分享提示