Remove arquivos da listagem que são criados / modificados no sábado

2

Não tenho certeza se é possível.

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

    
por would_like_to_be_anon 17.11.2014 / 17:36

3 respostas

1

Uma maneira de fazer isso:

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

Suponho que não imprimamos arquivos para all aos sábados. Isso é ou não o que você espera.

    
por 17.11.2014 / 17:50
1

Mais simples:

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

ref: Esta resposta.

    
por 17.11.2014 / 18:01
1

Você deve selecionar o horário que você precisa

  • %y modificação
  • %w creation
  • %z alterar

ou qualquer combinação:

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

Escolha também as informações necessárias e escreva --printf= line.

Ou você pode usar apenas o comando find

find -maxdepth 1 -type f -daystart \
     ! -mtime $[$(date +%d)-$(date -d "last Saturday" +%d)]
    
por 17.11.2014 / 18:16