Me gustaría un método para capturar el uso del disco de una partición particular, utilizando el directorio donde está montada la partición. La salida debería ser un número entero sin relleno o símbolos siguientes, ya que me gustaría guardarlo en una variable.
Lo he usado df --output=pcent /mount/point, pero necesito recortar la salida ya que tiene un encabezado innecesario, un espacio de relleno único antes del valor y un símbolo% que sigue el valor de esta manera:
Use%
83%
En este caso, la salida que me gustaría sería simplemente 83. No conozco ningún inconveniente en el uso de la salida de df, pero estoy feliz de aceptar otros métodos que no dependen de él.
command-line
bash
scripts
disk-usage
Arronico
fuente
fuente

tr, me estaba metiendo la cabeza en un lío con ideas sed y awk.Respuestas:
Yo usaría ...
No estoy seguro si sed es más rápido, pero no puedo recordar los valores de sed.
fuente
timepara probar sale tan rápido como sed.tres más fácil de leer quesed.Aquí hay una solución awk:
Básicamente, lo que sucede aquí es que tratamos el carácter '%' como separador de campo (delimitador de columna) e imprimimos la primera columna $ 1 solo cuando el número de registros es igual a dos (el
NR==2parte)Si quisiéramos usar solo
bashherramientas, podríamos hacer algo como esto:Y por diversión, alternativa a
sedtravés del grupo de captura y-rpara expresiones regulares extendidas:fuente
sedsolución1deliminar la primera línea;para separar comandoss/^ //eliminar un espacio desde el inicio de las líneass/%//eliminar%signofuente
Puede canalizar a un
grepque solo extraiga dígitos:Véalo en vivo:
fuente
Encontré un servidor donde --output = pcent aún no estaba implementado, así que utilicé la salida normal, filtrada por columna, seguida de la expresión regular:
df /mount/point | awk '{print $5}' | tr -dc '0-9'fuente
Solución de dos pasos Bash
Al ser un fanático de bash (Borne Again SHell) el año pasado, pensé en proponer una solución para usarlo.
dfsalida a variableDF_PCT.DF_PCTy lo muestra en la pantalla.5en este caso) se genera.fuente
Aquí hay otra solución:
fuente