Você pode usar substituição de comandos para isso
$ touch -t $(date +%m%d%H%M) file
Eu gostaria de alterar todos os tempos de atributo de alguns arquivos para a data imediata. Parece que eu precisaria usar touch -A *
(mais ou menos; percebendo que vou usar uma forma mais complexa de globbing), no entanto, requer argumentos no seguinte: [-][[hh]mm]SS
Como eu poderia coaxar date
para fornecer a saída formatada adequadamente para chamar como um argumento de touch
para realizar isso no formato fornecido acima para touch
?
Você pode usar substituição de comandos para isso
$ touch -t $(date +%m%d%H%M) file
Eu aconselho que você não se preocupe em mudar a hora do arquivo, realmente não vale a pena (como eu mesmo descobri há um ou dois meses quando escrevi um script para organizar arquivos para MP3 players simples). Assim como os métodos discutidos na pergunta SO que eu criei acima, há outro método simples: copiar o arquivo para um nome temporário, exclua o original e renomeie o temporário. Claro, isso estraga o disco um pouco se você quiser processar muitos arquivos.
De acordo com a página do manual de contato fornecida acima por don_crissti, a finalidade da opção -A
em sua versão de touch
é permitir que você aplique um tempo delta ao tempo atual do arquivo e aos arquivos mtime . Portanto, para usar a opção -A
para definir o atime e o mtime de um arquivo como now
significa que você teria que calcular a diferença de tempo entre now
e o atime e mtime existentes do arquivo, o que é uma complicação desnecessária como eu aludi no meu comentário.
A maneira mais fácil de definir o tempo de processamento & Atime de um conjunto de arquivos para o tempo atual é simplesmente usar o toque com suas opções padrão. Ou, se você quiser que os arquivos tenham tempos idênticos , primeiro toque em um arquivo e use-o como o arquivo de referência no restante dos arquivos, usando a opção -r
do touch.