Jawaban ini upaya untuk alamat yves ini keasyikan berikut:
Saya lebih suka tidak memiliki alias untuk setiap kombinasi opsi (1)
dan
meskipun menunjukkan '/' merah (2)
dan (3)
menambahkan informasi penting ke output yang bervariasi, yaitu df
baris header yang berubah sesuai dengan flag yang disediakan.
(1) Anda perlu function
, karena menurut definisi dibutuhkan argumen. Dan, sangat mudah untuk didefinisikan dan digunakan karena Anda akan menemukan di bawah ini.
(2) merah /
dihasilkan oleh grep --color
, yang merupakan alias umum untuk grep
dirinya sendiri (Anda dapat memeriksanya dengan menjalankan alias
).
kode
function df1
{
df $* | sed -n '1p;/^\//p;'
}
Baris baru di atas dimaksudkan untuk meningkatkan keterbacaan, Anda dapat menggantinya dengan ruang.
Salin dan tempel cuplikan ini langsung ke sesi pesta interaktif atau, bahkan lebih baik, tambahkan ke ~/.bashrc
.
Contoh penggunaan
$ df1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/disk1 487358464 316093104 171009360 65% /
/dev/disk2 524032 302620 221412 58% /Volumes/Packer
$ df1 -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/disk1 hfs 465G 302G 164G 65% /
/dev/disk2 hfs 512M 296M 217M 58% /Volumes/Packer
$ df1 -hT .
Filesystem Type Size Used Avail Use% Mounted on
/dev/disk1 hfs 465G 302G 164G 65% /
Apa yang dilakukannya
Fungsi df1
panggilan df
dengan argumen apa pun yang Anda berikan dan pipa ( |
) output untuk sed
, yang dipanggil dengan -n
untuk menekan pencetakan otomatis dari ruang pola. Selebihnya mengekspresikan "skrip", dua sebenarnya:
- skrip
1p
mencetak baris pertama, yang dalam kasus kami adalah df
tajuk (saya menggunakan hal yang sama untuk ps
perpipaan),
- skrip
/^\//p
cocok dengan semua baris yang dimulai dengan /
, lalu mencetaknya
;
memisahkan skrip 2 sed
df --type ntfs
tidak menampilkan partisi 5 ntfs dan karenanya melewatkannya untuk saya