Remover da listagem os arquivos criados/modificados no sábado

Remover da listagem os arquivos criados/modificados no sábado

Não tenho certeza se isso é possível.

Eu faço ls -l, ele fornece todos os arquivos no diretório atual. Existe uma maneira de listar apenas os arquivos que não foram criados/modificados no sábado com o comando shell?

Responder1

Uma maneira de fazer isso:

$ LANG=C find . -maxdepth 1 -printf '%p %AA\n' |
    awk '$NF=="Saturday"{next}{$NF=""}1'

Presumo que não imprimimos arquivos paratodosSábados. Isso é ou não o que você espera.

Responder2

Mais simples:

find . -maxdepth 1 -printf '%Ta\t%p\n' | grep -v -i '^sat'

referência:Esseresponder.

Responder3

Você deve selecionar o horário que precisa

  • %ymodificação
  • %wcriação
  • %zmudar

ou qualquer combinação:

stat * --printf="%n\t%y %z\n" | grep -vF $(date -d "last Saturday" +%F) | cut -f1

Escolha também quais informações você precisa e escreva --printf=a linha.

Ou você pode usar apenas findo comando

find -maxdepth 1 -type f -daystart \
     ! -mtime $[$(date +%d)-$(date -d "last Saturday" +%d)]

informação relacionada