如何在Unix中读取特定列

时间:2018-05-04 07:58:13

标签: awk ksh

Filesystem    State   1024-blocks      Used       Avail   Capacity  Mounted on
$ZPMON.DELETEMESTARTED    71686344    58788360    12897984   82%    /deleteme

在这里,我想阅读第一列,这意味着只需阅读文字DELETEME

我试过,但是当我读到第一列时,我得到ZPMON.DELETEMESTARTED

FilesystemState列的条目被视为一个组合列(包含ZPMON.DELETEMESTARTED)。 我该如何解决这个问题?

这就是我的尝试:

df -k DELETEME | tail -1 | awk 'BEGIN{FS=" "};{print NF}'

1 个答案:

答案 0 :(得分:0)

您确定输出中合并了两个列值吗?我猜它必须由制表符分隔,因此在这种情况下,您要做的就是使用 awk'{print $ 1}'打印第一列。 awk的默认字段分隔符是空格和制表符。如果您不想依赖默认分隔符,请明确指定。