如何将第一行的最后一列发送到标准输出?

时间:2019-02-27 18:28:56

标签: bash

例如

文件TEMPFILE.TXT包含以下内容:

PROC-|STUFF_THINGS|MORE STUFF|PING|AUTOSYS
PROC-|ASTUFF_THINGS_XX_2|Print-Wire|AUTONON

我只想将AUTOSYS打印到标准输出。

2 个答案:

答案 0 :(得分:1)

使用awk

awk -F'|' 'NR==1 {print $NF; exit}' file

如果您不介意对列数进行硬编码,则:

head -1 file | cut -d'|' -f5

与列数无关的方法,但更复杂且更昂贵:

head -1 file | rev | cut -f1 -d'|' | rev

在所有这些中,我们仅读取文件的第一行。

答案 1 :(得分:0)

您可以尝试:

while read line ;do echo "${line##*|}";break;done