我有一个关于sed的问题。用sed操作df输出
输出:
Filesystem avail
rpool/ROOT/s10_u11_201704 244719726
通缉信息:
s10_u11_201704
我想:
df -b/| sed '1d;s/.*\/\(*\ \)\ .*/\1/g'
的\(*\ \)
不起作用。
我有一个关于sed的问题。用sed操作df输出
输出:
Filesystem avail
rpool/ROOT/s10_u11_201704 244719726
通缉信息:
s10_u11_201704
我想:
df -b/| sed '1d;s/.*\/\(*\ \)\ .*/\1/g'
的\(*\ \)
不起作用。
使用awk
:
df -b/|awk -F'/' 'NR>1{split($NF,a," ");print a[1]}'
s10_u11_201704
使用sed
:
df -b/|sed -r '1d;s|(^.*)/([^ ]+).*|\2|g'
s10_u11_201704
免责声明:df -b
没有任何可用的发行版提供给我。
我想知道,因为我有'df(GNU coreutils)8.21',但没有'-b'选项。 –
我也有没有'-b'标志的'df'。只是模仿OP的理解。 –
我明白了,但RomanPerekhrest的回答是正确的。 –
短AWK方法:
df --output=source | awk -F'/' '{print $NF}'
--output=source
(--output[=FIELD_LIST]
) - 使用所定义的输出格式由FIELD_LIST
-F'/'
- 治疗/
如字段分隔
$NF
- 最后一个字段的值
注意,你可以使用'--output = source'只打印文件系统信息。请参阅[如何在linux df命令中选择特定列](https://stackoverflow.com/a/28809214/1983854)。 – fedorqui