Ta odpowiedź próbuje rozwiązać następujące problemy Yves :
Wolałbym nie mieć aliasu dla każdej kombinacji opcji (1)
i
chociaż pokazuje „/” na czerwono (2)
i (3)
dodać ważną informację do zmieniającego się wyniku, który jest dflinią nagłówka zmieniającą się zgodnie z dostarczonymi flagami.
(1) Potrzebujesz function, ponieważ z definicji wymaga argumentów. I jest to bardzo proste do zdefiniowania i użycia, jak dowiesz się poniżej.
(2) czerwony /jest produkowany przez grep --color, co jest wspólnym aliasem dla grepsiebie (możesz to sprawdzić, uruchamiając alias).
kod
function df1
{
df $* | sed -n '1p;/^\//p;'
}
Powyższe nowe wiersze mają na celu poprawę czytelności, możesz je zastąpić spacją.
Skopiuj i wklej ten fragment bezpośrednio do interaktywnej sesji bash lub, jeszcze lepiej, dołącz go do swojego ~/.bashrc.
Przykładowe użycie
$ 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% /
Co to robi
Funkcja df1wywołuje dfdowolne argumenty, które przekazujesz, i potoki ( |) generują dane wyjściowe sed, które są wywoływane w -ncelu powstrzymania automatycznego drukowania przestrzeni wzorców. Reszta wyraża „skrypty” sed, dwa właściwie:
- skrypt
1pwypisuje pierwszą linię, która w naszym przypadku jest dfnagłówkiem (używam tego samego do pspipingu),
- skrypt
/^\//pdopasowuje dowolny wiersz zaczynający się od /, a następnie go drukuje
; oddziela 2 skrypty sed
df --type ntfsnie pokazuje partycji 5 NTFS i dlatego pomija je w wynikach dla mnie