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 df
la 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 grep
sí 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 df1
llama df
con cualquier argumento que le pase y canaliza ( |
) la salida sed
, que se invoca -n
para suprimir la impresión automática del espacio del patrón. El resto expresa los "guiones" sed, dos en realidad:
- el script
1p
imprime la primera línea, que en nuestro caso es df
el encabezado (yo uso lo mismo para la ps
tubería),
- el script
/^\//p
coincide con cualquier línea que comience /
y luego la imprime
;
separa los 2 scripts sed
df --type ntfs
no muestra la partición de 5 ntfs y, por lo tanto, me los salta como resultado