terminal - todos os arquivos que não foram editados hoje

3

Eu edito um monte de arquivos txt com a linha

vim *.txt

mas o que eu realmente gostaria de fazer é editar todos os arquivos que não foram modificados no último dia (ou n dias ou n horas) - qual é a maneira mais comum de fazer isso?

    
por Joe 01.03.2012 / 13:28

1 resposta

10
vim $(find * -type f -mtime 0)

$() é uma substituição de comando. Permite que alguma mágica seja feita (neste caso, fornecendo uma lista de arquivos para você editar). Você pode ler mais sobre eles aqui

Dentro da substituição de comando, faremos um comando find que procura por qualquer coisa no diretório atual ( * ) que seja file ( -type f ) e foi modificada hoje ( mtime 0 ).

mtime procura por arquivos que foram modificados em n*24 . Portanto, se mtime fosse igual a 1 , se procuraria por arquivos modificados ontem. Você também pode usar mmin para procurar arquivos que foram modificados n minutos atrás.

vim $(find * -type f -mmin $[n * 1])

Neste caso, substitua n por minuto. Você pode até mesmo ir e trocar o que quiser nesse arithmetic expansion para atender às suas necessidades.

    
por 01.03.2012 / 13:55

Tags