Cette réponse tente de répondre aux préoccupations suivantes de Yves :
Je préférerais ne pas avoir d'alias pour chaque combinaison d'options (1)
et
bien qu'il montre le '/' en rouge (2)
et (3)
ajouter une information importante à la sortie variable, qui est dfla ligne d'en-tête qui change en fonction des drapeaux fournis.
(1) Vous en avez besoin function, car par définition, cela prend des arguments. Et, il est très simple à définir et à utiliser comme vous le découvrirez ci-dessous.
(2) le rouge /est produit par grep --color, qui est un alias commun à greplui-même (vous pouvez le vérifier en exécutant alias).
code
function df1
{
df $* | sed -n '1p;/^\//p;'
}
Les sauts de ligne ci-dessus sont destinés à améliorer la lisibilité, vous pouvez les remplacer par de l'espace.
Copiez et collez cet extrait directement dans une session bash interactive ou, mieux encore, ajoutez-le à votre ~/.bashrc.
Exemple d'utilisation
$ 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% /
Ce qu'il fait
La fonction df1appelle dfavec tous les arguments que vous lui transmettez et dirige ( |) la sortie vers sed, qui est invoquée avec -npour supprimer l'impression automatique de l'espace de motif. Le reste exprime les "scripts" sed, deux en fait:
- le script
1pimprime la 1ère ligne, qui dans notre cas est dfl'en-tête de (j'utilise la même chose pour la pstuyauterie),
- le script
/^\//pcorrespond à n'importe quelle ligne commençant par /, puis l'imprime
; sépare les 2 scripts sed
df --type ntfsne montre pas la partition 5 ntfs et donc les sauter dans le résultat pour moi