使用 sed 操作 df 输出

Manipulate df output with sed

我有一个关于 sed 的问题。

输出:

Filesystem              avail
rpool/ROOT/s10_u11_201704 244719726

需要的信息:

s10_u11_201704

我试过了:

df -b / | sed '1d;s/.*\/\(*\ \)\ .*//g'

\(*\ \) 不起作用。

使用 awk :

df -b / |awk -F'/' 'NR>1{split($NF,a," ");print a[1]}' 
s10_u11_201704

使用sed

df -b / |sed -r '1d;s|(^.*)/([^ ]+).*||g'
s10_u11_201704

免责声明:df -b 在我可用的任何发行版中均不可用。

简短awk方法:

df --output=source | awk -F'/' '{print $NF}'

  • --output=source (--output[=FIELD_LIST]) - 使用 FIELD_LIST

  • 定义的输出格式
  • -F'/' - 将 / 视为字段分隔符

  • $NF - 最后一个字段值