Puedo encontrar el número de todos los archivos en la carpeta pero obtuve un número bastante grande.
find . -type f | wc -l      #find number of files in DIR
ls -lrt                     #list all files order by date  
¿Cómo encontrar el número de archivos por día?
Entonces, el resultado debería ser algo como:
# left number is number of files and right is one day.
109294 2016-06-27
101555 2016-06-26
88123  2016-06-25 
... etc. 
                
                    
                        command-line
                                find
                                
                    
                    
                        tasmaniski
fuente
                
                fuente

109294y109294Respuestas:
Puede hacer esto usando la
printfacción defindimprimir solo los tiempos de modificación en el formato deseado, y luego usandosortyuniq:-printf '%TY-%Tm-%Td\n'imprime el tiempo de modificación de archivos en, por ejemplo,2015-05-23formatosortordena la salida yuniq -ccuenta por fechaEjemplo:
fuente
find . -type f -printf '%TY-%Tm-%Td\n' 2</dev/null | sort | uniq -c | tail -n +2 | gnuplot -p -e "set xdata time; set timefmt \"%Y-%m-%d\";set xtics rotate; plot '-' using 2:1 with impulses"Aquí hay una solución con
find+awkEsencialmente, lo que sucede es que encontramos todos los archivos regulares e imprimimos su tiempo de modificación según lo especificado por el
%Tformato, y luego seawkhace cargo y cuenta cada línea utilizando matrices asociadas. laEND{}declaración utiliza elforbucle para recorrer todos los elementos en la matriz asociada e imprimir el contenido de la clave + matriz [clave] (que es la fecha + recuento).Es posible que desee utilizar
sortpara organizar la salida, particularmente ensort -k 1función de la columna 1 (que es la fecha), pero eso es opcional. También-maxdepth 1buscará archivos solo en la carpeta actual . Si también desea encontrar archivos en subdirectorios, elimine-maxdepth 1parte.Salida de muestra
fuente
|sort | uniq -cversión, especialmente con un gran número de archivos y un conjunto pequeño de días diferentes. Al colapsar para contar en un solo paso, se evita ordenar una gran cantidad de duplicados antes de contar.