O bash pode ler a "Data de adição" de um arquivo/diretório?
772
Com programas como statvocê vê acessar, modificar e alterar, mas com o Finder no macOS, há um campo "Data adicionada". Posso obter a "Data adicionada" para um arquivo ou diretório exibido no Terminal, como statpode exibir a data de modificação?
Alguns candidatos incluem o seguinte. Os tempos dos arquivos são expostos em metadados, e mdlssão " m eta d ata l is t ". Quando usado com a -rawopção, output from mdlscontém campos separados por um caractere NUL. por exemplo, como se segue.
# The creation date which should not change.
mdls -raw -name kMDItemFSCreationDate $filename
O statcomando se comporta de forma diferente. Resultados de quatro versões de dois shells usando o comando, stat -f $filename, a seguir.
/usr/local/bin/zsh(5.7.1 via Homebrew) produz arquivos stat: missing file descriptor.
/usr/local/bin/bash(5.0.2(1) via Homebrew) produz arquivos testing.txt.
/bin/zsh(5.3 incluído no macOS) produz arquivos stat: missing file descriptor.
/bin/bash(3.2.57(1) incluem com macOS produz testing.txt.
No entanto, usando o caminho completo para stat, o comando é concluído conforme o esperado em cada versão de ambos os shells. Segue um exemplo que produz todos os tempos encontrados com stat.
Alguns candidatos incluem o seguinte. Os tempos dos arquivos são expostos em metadados, e
mdls
são " m eta d ata l is t ". Quando usado com a-raw
opção, output frommdls
contém campos separados por um caractere NUL. por exemplo, como se segue.O
stat
comando se comporta de forma diferente. Resultados de quatro versões de dois shells usando o comando,stat -f $filename
, a seguir./usr/local/bin/zsh
(5.7.1 via Homebrew) produz arquivosstat: missing file descriptor
./usr/local/bin/bash
(5.0.2(1) via Homebrew) produz arquivostesting.txt
./bin/zsh
(5.3 incluído no macOS) produz arquivosstat: missing file descriptor
./bin/bash
(3.2.57(1) incluem com macOS produztesting.txt
.No entanto, usando o caminho completo para
stat
, o comando é concluído conforme o esperado em cada versão de ambos os shells. Segue um exemplo que produz todos os tempos encontrados comstat
.O comando produz uma saída como o seguinte resultado do comando acima.
Esta foi uma pergunta interessante, e espero receber mais informações sobre a causa da disparidade.