Equivalente de forfiles.exe no Linux

1

desculpe se isso for solicitado antes, mas fiquei curioso sobre qual é o comando Linux equivalente de forfiles.exe no Windows? Isso veio à minha mente quando vi esta pergunta

    
por Serdar Dalgic 18.09.2009 / 22:30

4 respostas

3

find é a substituição completa, mas para operações simples em arquivos no diretório atual, esse sh -script pode ser bastante útil (e mais fácil de ler / escrever):

for file in *.jpg; do
  echo "do something with $file"
done
    
por 18.09.2009 / 22:40
0

Acho que encontrar fornece a funcionalidade que os arquivos forficos oferecem.

    
por 18.09.2009 / 22:36
0

O comando find faz o que você deseja. Aqui está um exemplo:

find /mnt/Pictures -name '*.jpg' \! -mtime 7 -exec rm {} \;

Isso excluirá todos os arquivos jpg de /mnt/Pictures , que não foram modificados nos últimos 7 dias (168 horas). Se você não se importa com o caso dos nomes de arquivos, use -iname em vez de -name .

Aqui está uma correspondência entre os parâmetros de forfiles e os parâmetros de find :

  • /p - > o caminho é o primeiro argumento do find
  • /s - > Por padrão, encontre pesquisas em todos os subdiretórios. Para desabilitar isso, use o parâmetro -maxdepth com 1.
  • /c - > %código%. Também substitua -exec por @file e não esqueça de terminar o comando com {} (muitos iniciantes são bit por esse erro)
  • \; - > %código%. Os dados do arquivo foram modificados pela última vez /d * há 24 horas.
por 19.09.2009 / 00:25
-2

Você pode criar uma tarefa cron que use find com os argumentos apropriados, por exemplo, -mtime +7

    
por 18.09.2009 / 22:42