[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] mover resultado do find para um diretório !
From: |
Felipe Kellermann |
Subject: |
Re: [shell-script] mover resultado do find para um diretório ! |
Date: |
Tue, 28 Feb 2006 23:45:18 -0300 (BRT) |
User-agent: |
Pine <http://www.washington.edu/pine/> |
On Tue, 28 Feb 2006 11:41pm -0300, Thiago dos Santos wrote:
> fala pessoal, agradeço ajuda de todos desde já !
> vou colocar a questão original p/ ver se fica mais fácil:
>
> Create a bash script that searches for Windows executables on the shares. If
> an executable is found, the file should be moved to a directory outside of
> the share and a mail should be sent to the root of the Samba server.
> Depending on your programing skills, you can choose one of the following
> methods to determine if a file is a Windows executable:
> * Search for file extensions such as .exe or .com (not a secure solution)
> * Identify the file type using the command file.
Ah, OK...
Tu pode repetir todos os `find' que citei adicionando:
-iname '*.com' -or -iname '*.exe'
Percebeu? Por exemplo:
% find /diretorio -type f -iname '*.com' -or -iname '*.exe' \
-exec mv {} /outro/diretorio \;
Ou,
% find /diretorio -type f -print0 -iname '*.com' -or -iname '*.exe' \
xargs -I % -0 mv % /outro/diretorio
Ou,
% find /diretorio -type f -iname '*.com' -or -iname '*.exe' | xargs mv \
--target-directory=/outro/diretorio
Se tu quiser adicionar (ou só usar isto) a verificação do bit de execução
nos finds do exemplo, adiciona a opção -perm,
(...) -type f -perm +u=x,g=x,o=x
Se quiser/puder optar por zsh, pode fazer o primeiro com:
(Move todos arquivos de diretorio/ que acabam com .com ou .exe e que são
arquivos normais para /outro/diretorio):
% mv /diretorio/**/(*.{com,exe})(.) /outro/diretorio
O segundo com:
(Move todos arquivos de diretorio/ que são arquivos normais e que têm o
bit de execução ligado ou para o dono, grupo ou outros):
% mv /diretorio/**/(.x) /outro/diretorio
Ou opcionalmente juntar os dois:
(Move todos arquivos de diretorio/ que acabam com .com ou .exe e que são
arquivos normais com o bit de execução ligado ou para o dono, ou para o
grupo, ou para outros, e que o nome acaba com .com ou .exe):
% mv /diretorio/**/(*.{com,exe})(.x) /outro/diretorio
--
Felipe Kellermann
- mover resultado do find para um diretório !, Thiago dos Santos, 2006/02/28
- Re: [shell-script] mover resultado do find para um diretório !, Felipe Kellermann, 2006/02/28
- Re: [shell-script] mover resultado do find para um diretório !, Thiago dos Santos, 2006/02/28
- Re: [shell-script] mover resultado do find para um diretório !, Tiago Barcellos Peczenyj, 2006/02/28
- Re: [shell-script] mover resultado do find para um diretório !, Thiago dos Santos, 2006/02/28
- Re: [shell-script] mover resultado do find para um diretório !, Gustavo Fleury Soares, 2006/02/28
- Re: [shell-script] mover resultado do find para um diretório !,
Felipe Kellermann <=
- Re: [shell-script] mover resultado do find para um diretório !, Thiago dos Santos, 2006/02/28
- Re: [shell-script] mover resultado do find para um diretório !, Felipe Kellermann, 2006/02/28
Re: [shell-script] mover resultado do find para um diretório !, Wagner_D, 2006/02/28