切り取り/grepとdf -h

切り取り/grepとdf -h

「Verf」の下で「173G」をどのようにgrepしたり切り取ったりするのですか?

学校でUnixスクリプトを書くにはこれが必要です。

jonas@jonaspc:~/$ df -h /dev/sda2
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda2       293G    121G  173G   42% /media/Windows

ベストアンサー1

これらの作業に最も快適なソリューションは次のとおりですawk

df -h /dev/sda2 | awk 'NR==2{print$4}'

あるいは、より多くのパーティションがリストされている場合は、マウントポイントを介して正しい行を選択できます。

df -h | awk '$1=="/dev/sda2"{print$4}'

使い方は簡単ですsedが、後でデバッグするために数回インストールする必要がある場合はそれほど悪くありません。

df -h /dev/sda2 | sed -rn '2s/^((\S+)\s+){4}.*/\2/p'

df -h | sed -rn '/^\/dev\/sda2/s/^((\S+)\s+){4}.*/\2/p'

GNUを想定してくださいsed。 POSIX準拠の構文には、次のような多くのエスケープが含まれています。

df -h /dev/sda2 | sed -n '2s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'

df -h | sed -n '/^\/dev\/sda2/s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'

おすすめ記事