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