Anda dapat menggunakan awk,
df | awk '$1=="/dev/sda"{print $4}'
Mudah dibawa:
df -P /dev/sda1 | awk 'NR==2 {print $4}'
-P
opsi memastikan bahwa df
akan mencetak keluaran dalam format yang diharapkan, dan khususnya tidak akan memutus garis setelah nama perangkat meskipun panjang. Meneruskan nama perangkat sebagai argumen ke df
menghilangkan bahaya apa pun dari penguraian, seperti mendapatkan informasi untuk /dev/sda10
saat Anda menanyakan /dev/sda1
. df -P
cukup cetak dua baris, baris tajuk (yang Anda abaikan) dan satu baris data tempat Anda mencetak kolom yang diinginkan.
Ada risiko bahwa df
akan menampilkan nama perangkat yang berisi spasi, misalnya jika volume dipasang dengan nama dan nama berisi spasi, atau untuk volume NFS yang titik pemasangan jarak jauhnya berisi spasi. Dalam hal ini, tidak ada cara yang sepenuhnya portabel untuk mengurai keluaran dari df
. Jika Anda yakin bahwa df
akan menampilkan nama perangkat persis yang Anda berikan (tidak selalu demikian), Anda dapat menghapusnya:
df -P -- "$device" | awk -vn=${#device} 'NR==2 {$0 = substr($0, n+1); print $3}'
Anda dapat menggunakan awk
df | grep sda | awk '{print $4}'