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 df
la 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 à grep
lui-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 df1
appelle df
avec tous les arguments que vous lui transmettez et dirige ( |
) la sortie vers sed
, qui est invoquée avec -n
pour supprimer l'impression automatique de l'espace de motif. Le reste exprime les "scripts" sed, deux en fait:
- le script
1p
imprime la 1ère ligne, qui dans notre cas est df
l'en-tête de (j'utilise la même chose pour la ps
tuyauterie),
- le script
/^\//p
correspond à n'importe quelle ligne commençant par /
, puis l'imprime
;
sépare les 2 scripts sed
df --type ntfs
ne montre pas la partition 5 ntfs et donc les sauter dans le résultat pour moi