我有一個關於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