今天偶然研究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想打印制定列以后的所有列的更多相关文章

  1. awk中打印连续多列,或者删除多列的技巧

    问题:比如有一个文件是20列,你只要后面的18列,怎么打印. 方法:把第一列和第二列做空:用print打印 [wangjq@mgmt humandb]$ cat test 1 2 3 4 5 6 7 ...

  2. linux awk命令详解,使用system来内嵌系统命令, awk合并两列

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  3. [Linux] AWK命令详解(大全)

    转载自:http://caoyanbao.iteye.com/blog/570868 什么是awk? 你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk ...

  4. linux awk浅析(转)

    Awk 是一种非常好的语言,同时有一个非常奇怪的名称.在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧.随着本系列的进展,将讨论更高级的主题,最后将 ...

  5. Linux awk学习

    零.awk标准语法 [root@wohaoshuai1 bbb]# echo "abcd" |awk 'BEGIN{print "wohaoshuai"} /a ...

  6. linux awk 常见字符串处理

    awk指定输出列: awk '{print $0} file' #打印所有列awk '{print $1}' file #打印第一列 awk '{print $1, $3}' file #打印第一和第 ...

  7. Linux awk命令使用方法

    awk是linux上非常好用的文本处理工具,常用于指定列的处理,包括获取指定列的内容.根据指定列匹配关系输出等文本处理.本文主要描述awk命令的基本语法.正则表达式与操作符的使用.常用内置变量的含义和 ...

  8. linux awk,sort,uniq,wc,cut命令详解

    1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...

  9. Linux awk命令 --三剑客老大

    Linux awk命令 --三剑客老大 基本用法: awk  [参数]  ['找谁{干啥}']  文件 参数: -F 分隔符 -v 创建或修改awk变量 OFS 输出分割符 awk显示每一列的时候分隔 ...

随机推荐

  1. centos7下安装iostat命令

    [root@node01 yum.repos.d]# yum intall -y sysstat Loaded plugins: fastestmirror No such command: inta ...

  2. 跨站点请求伪造 - SpringBoot配置CSRF过滤器

    1. 跨站点请求伪造   风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务.   原因:应用程序使用的认证方法不充分. ...

  3. 手把手教你配置KVM服务器

    1 Ubuntu系统安装 1.1 制作启动盘 准备一个U盘,将其清空后,去官网下载Ubuntu18.04系统的iso镜像文件,并将其拷进U盘.然后下载一个UltralOS软碟通工具,完成安装后打开软碟 ...

  4. ORA-28017: The password file is in the legacy format

    1.数据库升级后修改sys密码报错. 一般从oracle 从11G(11.2.0.4)升级到12C或者19C,修改SYS密码会有以下报错: ORA-28017: The password file i ...

  5. RHCSA 复习

    1.用户 # -->当前用户为root用户 $ -->当前用户为普通用户 [root@fafa ~]# su - 用户   ----切换用户 2.查看.修改主机名: ***保存在/etc/ ...

  6. C# 并发编程 (异步编程与多线程)

    并发:同时做多件事情 多线程:并发的一种形式,它采用多个线程来执行程序. 并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程.并行处理是多线程的一种,而多线程是并发的一种. 异步编程 ...

  7. 使用OpenOffice实现文档预览

    概述 使用OpenOffice将 office文档转为pdf,然后再将pdf转为图片,实现文档预览的功能. 依赖组件 OpenOffice.org或者LibreOffice JODConverter ...

  8. JVM 完整深入解析

    工作之余,想总结一下JVM相关知识.以下内容都是针对于jdk1.7的. Java运行时数据区: Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途 ...

  9. 事务的概念,以及事务在JDBC编程中处理事务的步骤

    事务是作为单个逻辑工作单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为原子性.一致性.隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务 .JDBC处理事务有如下操作: 1,con ...

  10. Java学习日报8.5

    package student;import java.util.*;public class student { Scanner sc=new Scanner(System.in); private ...