Agora eu sei como usar find | palavra-chave grep para obter o arquivo que desejo.
Mas depois disso, como devo saber o tamanho e as informações de create_time de cada arquivo que encontrei?
Por exemplo, depois de encontrar | tutorial grep, eu consegui isso:
./lab/zengjuchen/tutorial
./lab/zengjuchen/tutorial/tutorial
Como devo ver o tempo e o tamanho da criação?
Responder1
Você começou errado usando find
e grep
juntos. find
é perfeitamente capaz de filtrar arquivos. Você não precisa grep
disso - na verdade, não é recomendado embaralhar nomes de arquivos como esse.
Em vez disso, faça isso:
find -name '*tutorial*' -exec <some-command> {} \;
Aqui, <some-command>
será executado para cada arquivo encontrado, cujo nome substituirá {}
. Por exemplo, para obter o tamanho do arquivo:
find -name '*tutorial*' -exec du {} \;
Usar \+
em vez de \;
fará com que find
o comando seja executado em todos os arquivos de uma vez, se o comando fornecido suportar a passagem de mais de um argumento de arquivo. Isso irá acelerar o processo.
Ou você pode até fazer isso com o Bash:
shopt -s globstar
du **/*tutorial*
Aqui, **
percorre recursivamente todos os diretórios.
Quanto ao tempo de criação: Tradicionalmente, não é armazenado. Você obterá apenas o último acesso, modificação e horário de mudança de status. Veja mais sobrestat
. Sistemas de arquivos como ext4
o armazenam a hora de criação como "Hora de Nascimento". Então, stat -c %w
funcionaria para eles. Leia mais sobre este assuntoaqui.