Preciso criar um script que mostre os arquivos na mesma ordem que a pasta Downloads padrão no dock, ordenada por Data de adição, a mais nova primeiro. Não consigo encontrar a opção ls
.
Alguma outra maneira de fazer isso?
macos
command-line
metadata
Ramiro Araujo
fonte
fonte
Respostas:
Solução mais simples (mais rápida):
fonte
A data adicionada é armazenada como item de metadados
kMDItemDateAdded
e omdls
comando expõe os dados de cada arquivo passado como argumento para ele.Portanto, para despejar a data adicionada para todos os arquivos em Downloads em qualquer ordem arbitrária * expandida pelo seu shell, você pode:
Você precisará hackear alguma combinação de find e sed / awk / perl / o que for montar um substituto,
ls
mas talvez o mdfind possa ser chamado pelo seu script, em vez de precisar reinventarls
e analisar essa saída.fonte
Bem, como de costume, depois de escrever a pergunta, começo a procurar conteúdo de metadados em arquivos e acabei escrevendo isso:
Basicamente: 1. lista todos os arquivos 2. filtra. e .. 3. obtém o nome e a data adicionados, uma linha após a outra 4. mescla a cada duas linhas em uma linha 5. extrai a data, a hora e o nome 6. classifica-a ao contrário (como datetime é antecipado, ele classifica por data hora)
Espero que isso ajude mais alguém! :)
@bmike, na verdade, o site me impôs uma restrição para responder minha própria pergunta somente após 8 horas de publicação, devido à minha falta de reputação: D
fonte
ls -A
vez de-a
para não precisar egrep -v
para ..
..
fonte