Esta respuesta intenta abordar las siguientes preocupaciones de yves :
Preferiría no tener un alias para cada combinación de opciones (1)
y
aunque muestra el '/' en rojo (2)
y (3)
agregue una información importante a la salida variable, que es dfla línea de encabezado que cambia de acuerdo con los indicadores suministrados.
(1) Necesitas function, porque por definición toma argumentos. Y, es muy simple de definir y usar como lo descubrirá a continuación.
(2) el rojo /es producido por grep --color, que es un alias común a grepsí mismo (puede verificarlo ejecutando alias).
código
function df1
{
df $* | sed -n '1p;/^\//p;'
}
Las nuevas líneas anteriores están destinadas a mejorar la legibilidad, puede reemplazarlas por espacio.
Copie y pegue este fragmento directamente en una sesión interactiva de bash o, mejor aún, añádalo a su ~/.bashrc.
Ejemplo 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% /
Que hace
La función df1llama dfcon cualquier argumento que le pase y canaliza ( |) la salida sed, que se invoca -npara suprimir la impresión automática del espacio del patrón. El resto expresa los "guiones" sed, dos en realidad:
- el script
1pimprime la primera línea, que en nuestro caso es dfel encabezado (yo uso lo mismo para la pstubería),
- el script
/^\//pcoincide con cualquier línea que comience /y luego la imprime
; separa los 2 scripts sed
df --type ntfsno muestra la partición de 5 ntfs y, por lo tanto, me los salta como resultado