【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
【Linux】awk想打印制定列以后的所有列的更多相关文章
- awk中打印连续多列,或者删除多列的技巧
问题:比如有一个文件是20列,你只要后面的18列,怎么打印. 方法:把第一列和第二列做空:用print打印 [wangjq@mgmt humandb]$ cat test 1 2 3 4 5 6 7 ...
- linux awk命令详解,使用system来内嵌系统命令, awk合并两列
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- [Linux] AWK命令详解(大全)
转载自:http://caoyanbao.iteye.com/blog/570868 什么是awk? 你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk ...
- linux awk浅析(转)
Awk 是一种非常好的语言,同时有一个非常奇怪的名称.在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧.随着本系列的进展,将讨论更高级的主题,最后将 ...
- Linux awk学习
零.awk标准语法 [root@wohaoshuai1 bbb]# echo "abcd" |awk 'BEGIN{print "wohaoshuai"} /a ...
- linux awk 常见字符串处理
awk指定输出列: awk '{print $0} file' #打印所有列awk '{print $1}' file #打印第一列 awk '{print $1, $3}' file #打印第一和第 ...
- Linux awk命令使用方法
awk是linux上非常好用的文本处理工具,常用于指定列的处理,包括获取指定列的内容.根据指定列匹配关系输出等文本处理.本文主要描述awk命令的基本语法.正则表达式与操作符的使用.常用内置变量的含义和 ...
- linux awk,sort,uniq,wc,cut命令详解
1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...
- Linux awk命令 --三剑客老大
Linux awk命令 --三剑客老大 基本用法: awk [参数] ['找谁{干啥}'] 文件 参数: -F 分隔符 -v 创建或修改awk变量 OFS 输出分割符 awk显示每一列的时候分隔 ...
随机推荐
- Jmeter之登录接口参数化实战
为了纪念我走过的坑(为什么有些简单的问题就是绊住我了,还是不够细啊) Jmeter之接口登录参数化实战 因为想要在登录时使用不同的数据进行测试,所以我选择了将数据进行参数化.因为涉及到新建一个接口的功 ...
- 开发阶段,将SpringBoot应用快速部署到K8S
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Elastic Search 学习之路(一)
一.基本概念及缘由 1.Sql vs nosql SQL:Structured Query Language Nosql:Not only SQL Relationship DB Relations: ...
- MySQL中的 ”SELECT FOR UPDATE“ 一次实践
背景 最近工作中遇到一个问题,两个不同的线程会对数据库里的一条数据做修改,如果不加锁的话,会得到错误的结果. 就用了MySQL中for update 这种方式来实现 本文主要测试主键.唯一索引和普通索 ...
- Thymeleaf的th
th:action 定义后台控制器路径,类似<form>标签的action属性. <form id="login-form" th:action="@{ ...
- 在matlab 画箭头
[转载]在matlab 画箭头 原文地址:在matlab 画箭头作者:纯情小郎君 完整见链接http://www.mathworks.com/matlabcentral/fx_files/14056/ ...
- 又到期末了,为什么学完C语言觉得好像没学一般?复习资料来一份
不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉? 原因在于编程不同于理论学科,你听懂和理解了理论就可以运用,比如历史地理,看完书, ...
- git 清除本地git commit的内容
由于我经常git add . , 然后再git commit -m "文字说明",这样有时候代码嵌套再另一个项目里面,就会把外面的项目一起提交了,导致提交的代码不是我想要的.小菜鸟 ...
- java 合并两个list 并去重
//两个list合并并去除重复 public static void main(String[] args) throws Exception { List list1 =new ArrayList( ...
- Redis在存取序列化和反序列化性能问题
1. 问题场景 我们在使用Redis的时候经常会将对象序列化存储到Redis中,在取出的时候进行反序列化,如果对象过大在进行序列化和反序列化的时候会有一定性能问题.今天查看了CSRedis源码发现在S ...