Esta resposta tenta responder às preocupações do yves seguintes:
I would prefer not to have an alias for every option combination (1)
e
although it shows the '/' in red (2)
e (3)
adicione uma informação importante à saída variável, que é a linha de cabeçalho de df
que muda de acordo com os sinalizadores fornecidos.
(1) Você precisa de function
, porque, por definição, aceita argumentos. E é muito simples definir e usar como você descobrirá abaixo.
(2) o% vermelho/
é produzido por grep --color
, que é um alias comum a grep
(você pode verificar isso executando alias
).
código
function df1
{
df $* | sed -n '1p;/^\//p;'
}
As novas linhas acima pretendem melhorar a legibilidade, você pode substituí-las por espaço.
Copie e cole este snippet diretamente em uma sessão bash interativa ou, melhor ainda, anexe-o ao seu ~/.bashrc
.
Exemplo de uso
$ 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% /
O que faz
A função df1
chama df
com quaisquer argumentos que você passar e canaliza ( |
) a saída para sed
, que é invocada com -n
para suprimir a impressão automática do espaço de padrão. O resto expressa os "scripts" sed, dois na verdade:
- o script
1p
imprime a primeira linha, que no nosso caso é df
(eu uso o mesmo para ps
piping),
- o script
/^\//p
corresponde a qualquer linha que começa com /
e imprime
-
;
separa os 2 scripts sed