Diese Antwort versucht, die folgenden Probleme von yves anzusprechen :
Ich würde es vorziehen, nicht für jede Optionskombination einen Alias zu haben (1)
und
obwohl es das '/' in rot zeigt (2)
und (3)
Hinzufügen einer wichtigen Information zu der variierenden Ausgabe, bei der es sich um df
die Kopfzeile handelt, die sich entsprechend den bereitgestellten Flags ändert.
(1) Sie brauchen function
, weil es per Definition Argumente braucht. Und es ist sehr einfach zu definieren und zu verwenden, wie Sie unten herausfinden werden.
(2) Das Rot /
wird von erzeugt grep --color
, was ein allgemeiner Alias für sich grep
selbst ist (Sie können dies überprüfen, indem Sie ausführen alias
).
Code
function df1
{
df $* | sed -n '1p;/^\//p;'
}
Die obigen Zeilenumbrüche sollen die Lesbarkeit verbessern. Sie können sie durch Leerzeichen ersetzen.
Kopieren Sie dieses Snippet und fügen Sie es direkt in eine interaktive Bash-Sitzung ein oder hängen Sie es, noch besser, an Ihre an ~/.bashrc
.
Anwendungsbeispiel
$ 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% /
Was es macht
Die Funktion df1
ruft df
mit allen Argumenten auf, an die Sie sie übergeben, und leitet ( |
) an die Ausgabe weiter sed
, die aufgerufen wird -n
, um das automatische Drucken des Musterbereichs zu unterdrücken. Der Rest drückt die sed "Skripte" aus, zwei tatsächlich:
- Das Skript
1p
druckt die erste Zeile, in unserem Fall df
die Kopfzeile (ich verwende dieselbe für ps
Rohrleitungen).
- Das Skript
/^\//p
stimmt mit jeder Zeile überein, die mit beginnt /
, und druckt sie dann aus
;
trennt die 2 sed-Skripte
df --type ntfs
zeigt nicht 5 ntfs Partition und überspringt sie daher im Ergebnis für mich