打印每行的最后一个元素

dov*_*vah 9 awk

如何在文件中的最后一个选项卡之后打印元素?

示例:文件 1

A    3    8    6    7
B    4    6    2    3    6    8
c    1    9
Run Code Online (Sandbox Code Playgroud)

会返回:

7
8
9
Run Code Online (Sandbox Code Playgroud)

Ber*_*ard 26

您可以巧妙地使用NF变量awk

awk '{print $NF}' File1
Run Code Online (Sandbox Code Playgroud)

man awk

NF 当前输入记录中的字段数。

SoNF将为您提供字段数量,然后$NF将扩展到$3例如,您可以在打印语句中使用。


ter*_*don 5

如果您只想要最后一个字段而不是第一个和最后一个字段,您可以尝试:

rev file | cut -f 1
Run Code Online (Sandbox Code Playgroud)

反转rev文件的每一行并cut仅打印第一个字段(默认情况下字段由选项卡定义)。由于线路已颠倒,因此第一个字段是原来的最后一个字段。

上面的代码适用于您给定的示例,但是,正如 @Bernhard 在下面指出的那样,它将打印比反转的单个字符长的字段。在这些情况下,您将需要第二次转速:

 rev file | cut -f 1 | rev
Run Code Online (Sandbox Code Playgroud)