Indagamos en distintos sitios para traerte la solución para tu problema, en caso de inquietudes puedes dejarnos tu duda y te respondemos porque estamos para ayudarte.
Solución:
con GNU du
(es decir, en Linux no integrado o Cygwin), puede usar el --exclude
opción para excluir los archivos que no desea hacer coincidir.
du -s --exclude='*.html' /var/foo
Si desea hacer coincidir positivamente *.pdf
archivos, necesitará usar algún otro método para listar los archivos, y du
mostrará al menos una línea de salida por argumento, más un total general con la opción -c
. Puedes llamar tail
para eliminar todo excepto la última línea, o sed para eliminar también la palabra “total”. Para enumerar los archivos en ese directorio, use comodines en el shell.
du -sc /var/foo/*.pdf | tail -n1
du -sc /var/foo/*.pdf | sed -n '$s/t.*//p'
Si también necesita recorrer archivos en subdirectorios, use find
o usar un **/
patrón si su caparazón lo admite. Para **/
en bash, primera ejecución shopt -s extglob
, y tenga en cuenta que las versiones de bash hasta la 4.2 atravesarán enlaces simbólicos a directorios; en zsh, esto funciona fuera de la caja.
du -sc /var/foo/**/*.pdf | tail -n1
Una complicación adicional con la versión de búsqueda es que si hay demasiados archivos, find
correrá du
más de una vez, para mantenerse por debajo del límite de longitud de la línea de comando. Con el método comodín, obtendrá un error si eso sucede (“límite de longitud de línea de comando excedido”). El siguiente código asume que no tiene ningún nombre de archivo coincidente que contenga una nueva línea.
find /var/foo -name '*.pdf' -exec du -sc + |
awk '$2 == "total" total += $1 END print total'
Puede dejar que el shell expanda los archivos:
$ mkdir foo
$ echo "abc" > foo/1.pdf
$ echo "abcd" > foo/2.pdf
$ echo "abcd" > foo/3.html
$ du -ch foo/*.pdf
4,0K foo/1.pdf
4,0K foo/2.pdf
8,0K total
Sin embargo, como puede ver, esto indica archivos de archivo unas 1000 veces como se acaba de crear. Una mejor opción es usar el -b
opción:
$ du -cbh foo/*.pdf
4 foo/1.pdf
5 foo/2.pdf
9 total
Los archivos de gran tamaño seguirán mostrándose en formato legible por humanos, p. 173K
.
No se te olvide mostrar esta reseña si te fue de ayuda.