コマンドから取得した次の部分文字列があるとしますdf /dev/sdb1 | tail -n 1
。
/dev/sdb1 1952971772 1441131032 511840740 74% /media/kaiman/ShareData
私は、抽出したい1952971772
と74%
、その文字列から、bashスクリプトでそれを使用します。
一部のカットコマンドなどを使用できることはわかっていますが、たとえばサイズが変更されると機能しなくなります。
私も正規表現か何かを使用することについて考えましたが、私は最も推奨されるアプローチを持ちたいと思います。
前もって感謝します!
cut
行の文字位置を使用しているため、ファイルサイズの変動によって行の長さが変化すると失敗します。私は、あなたが言うことができると信じてcut
列を選択する2
と、列5
スペースで区切らを、私は電話でだと研究し、効果的に答えを投稿することはできません。
@ WinEunuuchs2Unixスペースの数は異なる場合があるため、どの列番号が正しいのかを判断するのは困難です。
—
mook765
cut
各区切り文字の後に1つの列が表示されます。
2つ以上の連続するスペースは、列を
—
区切る
@ WinEunuuchs2Unix正しい:)私が手元にあるテキストファイルからのコマンド:D
—
Rinzwind
df
特にについて尋ねていますか?後者の場合、特定の出力フィールドを明示的に指定できます。例df --output=pcent /dev/sdb1