grep
行を出力します あなたが提供するパターンに一致します。パターンに一致する行の部分のみを印刷したい場合は、-o を渡すことができます オプション:
-o, --only-matching 一致する行の一致した (空でない) 部分のみを出力し、そのような部分はそれぞれ別の出力行に出力します。
このように:
echo 'Here is a line mentioning 99% somewhere' | grep -o '[0-9]+'
試してみると:
echo "99%" |grep -o '[0-9]*'
戻り値:
99
-o
の詳細はこちら (または --only-matching
flag) は grep マニュアル ページから動作します。
一致する行の一致した (空でない) 部分のみを出力し、そのような部分はそれぞれ別の出力行に出力します。出力行は入力と同じ区切り文字を使用し、-z (--null-data) も使用されている場合、区切り文字は null バイトです (その他のオプションを参照)。
どうですか:
df . -B MB | tail -1 | awk {'print $4'} | cut -d'%' -f1