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 --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: [EMAIL PROTECTED] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html