Se você tem gnu find
- e supondo que nenhum dos seus nomes de arquivo contenha novas linhas - você pode usar o find
para mostrar o -printf
no formato desejado + o nome do arquivo, em seguida, execute mtime
para obter a contagem:
find . -type f -printf '%TY-%Tm-%Td %TH:%TM %p: ' -exec grep -cw "whatever" {} \; | sort -k1,1 -k2,2
Como alternativa, com grep
, você poderia glob e classificar por tempo de modificação (via qualifiers - zsh
seleciona arquivos regulares, .
ordena em ordem decrescente por mtime ) e, em seguida, para cada arquivo imprime Om
usando o mtime
, o nome do arquivo e, novamente, obtém a contagem via stat
:
zmodload zsh/stat
for f in ./**/*(.Om)
do
printf '%s %s\t%s %s: ' $(zstat -F '%Y-%b-%d %H:%M' +mtime -- $f) $f
grep -cw "whatever" $f
done