Linux 是一种非常强大和快速的操作系统,因为它可以执行各种功能和命令。在日常工作中,频繁处理文本数据是常见的一个任务,此时操作流程的高效性就变得非常重要。例如,您需要输出文件的最后几列。那么,如何在 Linux 系统中打印文件的后几列呢?让我们一起来探讨。
创新互联是一家以网络技术公司,为中小企业提供网站维护、网站制作、做网站、网站备案、服务器租用、域名注册、软件开发、小程序定制开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站来电联系:028-86922220
一、关于 Awk 命令
Awk 是一种强大的文本处理工具,它可以通过对文件/文本进行扫描、匹配和处理,使操作简便。在本程序中,我们将使用 Awk 命令来打印文件的后几列。
二、如何使用 Awk 命令
在 Linux 操作系统中,我们可以使用 Awk 命令来打印文件中的列,包括 Print 和 Awk Print。Print 命令非常直观和简单,它可以像下面这样工作:
1.打印文件的之一列
$ awk ‘{print $1}’ filename
2.打印文件的第三列
$ awk ‘{print $3}’ filename
3.打印文件的第二、第三和第四列
$ awk ‘{print $2,$3,$4}’ filename
除此之外,我们还可以使用 Awk 的 Print 命令来实现对文件的后几列的输出。其中 Print 命令的语法如下:
awk ‘{print $NF-3,$NF-2,$NF-1,NF}’ filename
其中,NF 代表文件的最后一行,而 $NF 代表文件的每一行。在上面的例子中,我们通过 $NF-3,$NF-2,$NF-1 可以打印文件的倒数第四列、倒数第三列和倒数第二列。另外,我们还可以使用 NF 指定打印的列数。所以,如果我们想要打印文件的倒数5列及其余列,则可以执行如下命令:
$ awk ‘{print $(NF-5),$(NF-4),$(NF-3),$(NF-2),$(NF-1),$(NF)}’ filename
三、使用处理方法
在实际工作中,我们可能会在处理完数据后,将数据复制到各种格式的文件中。如果我们需要将文件中的后几列复制到其他文本编辑器中呢?在这里,我们可以使用以下处理方法:
1.通过 Awk 命令将文件的后几列输出到其他文件中。比如,将文件的倒数 3 列写入一个新的文件中,可以使用以下命令:
$ awk ‘{print $(NF-2)}’ filename > new_file
其中 `>` 符号用于将输出结果重定向到已经建立好的新文件中。
2.使用文本编辑器复制后几列。如果您需要仅仅从屏幕上复制出几列,在打印完整个文件后,可以通过文本编辑器处理完成。例如,使用 Vim 编辑器,在输入以下命令行:
$ vim filename
在文件打开后,请按下 `Ctrl + v` 来进入 Visual Mode,然后您可以使用箭头键来选择您想要跨越的行和列。然后按下 `y` 键来复制选中的内容。现在,数据已经被复制到 Vim 的缓存中。请打开一个新的文件,并按下 `p` 键,然后将内容粘贴到新文件中。
四、
掌握在 Linux 操作系统中打印文件的后几列的技巧,必定会成为您在日常工作中非常有用的技能。在本文中,我们以 Awk 命令为例介绍了如何打印文件的后几列,同时也介绍了相关处理方法。希望本文中的内容对您有所帮助。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
曾经有一同事问我,在linux下如何输出一个文本文件的第二列,文本内容不限。我不假思索地说用 awk 啊。改坦升她追问只有这一种方式么?于是我仔细想了想,……
既然内容不限,则可以自定义文件内容的格式,这样可以用的命令自然会多一些。
需求为输出文件第二列,则基本上有两种方式实现:
因而,任何能直接输出特定列的命令,以及能够截取或删除其它列的命令都满足此需求。
为了方便说明,列举几个示例文件:
awk自然是最容易想到的,它处理格式化的文本得心应手。
使用 -F 指定列(字段)
分隔符
。
如果文件只有两列,还可以使用 $NF ,如信码 awk ‘{print $NF}’ test1.txt 。
awk还支持一些函数,同样可以将第二列提取出来,此处不再赘述。
cut命令的默认字段分隔符是 TAB ,可以使用 -d 重新指定。 -f 列出指定字段。
如果第二列的字符的起始和结束序号为固定值,如test2.txt,可以使用 -c 参数,截取特定的字符序列。
sed采用的是第二种实现方式,即将其它列删除掉,利用 后向引用 :
在test1.txt中,第二列的前面和后面分别为数字空格和空格数字,所以可以利用
正则表达式
将其输出出来。
同理:
colrm命令可以删除标准输入中的指定列,但
该命令中所定义的列指的是单个字符
,这与常规对字段的定义不同,需注意。
格式如下:
如果只指定start,则大于等于start的列均被删除;如果指定了start和stop,则大于等于start,小于等于stop的列被删除。
因此,此命令可处理第二个字段起始位置为固定值的test2.txt文件。
read读取文件中的每行,将特定的列输出来。
shell支持命令替换,通过两次命令替换,得到第二列核老:
虽然不清楚她从哪里看到的这道题目,题目本身是何用意。但以一个问题,调动起了对linux多个命令及知识点的学习和总结,还是有价值的。
欢迎提出不同解法!
相关命令
关于linux 打印后几列的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港云服务器机房,创新互联(www.cdcxhl.com)专业云服务器厂商,回大陆优化带宽,安全/稳定/低延迟.创新互联助力企业出海业务,提供一站式解决方案。香港服务器-免备案低延迟-双向CN2+BGP极速互访!
文章题目:Linux操作系统技巧:如何打印文件的后几列?(linux打印后几列)
文章路径:http://www.gawzjz.com/qtweb/news35/180835.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联