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--type fuseblk
para eso--type ntfs
estaba en mi alias desde el momento en que hubo un soporte mínimo de NTFS (el momento en que tuvo que hacer una verificación del sistema de archivos en su partición NTFS después de reiniciar en Windows% -)). Actualicé mi respuesta, gracias.