Linux操作系统技巧:如何打印文件的后几列? (linux 打印后几列)

Linux 是一种非常强大和快速的操作系统,因为它可以执行各种功能和命令。在日常工作中,频繁处理文本数据是常见的一个任务,此时操作流程的高效性就变得非常重要。例如,您需要输出文件的最后几列。那么,如何在 Linux 系统中打印文件的后几列呢?让我们一起来探讨。

一、关于 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–如何得出一个文件的第二列?

曾经有一同事问我,在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 打印后几列的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux操作系统技巧:如何打印文件的后几列? (linux 打印后几列)