Re: Buscar y Eliminar
Find / -name *.mp3 -o -name *.avi -exec rm {} \; si necesitas que lo realice en forma interactiva reemplaza el exec por ok. Claudio Hormazabal http://claudio.hormazabal.cl --Mensaje original-- De: listali...@tecnocreativo.cl Remitente: linux-boun...@listas.inf.utfsm.cl Para: linux@listas.inf.utfsm.cl Responder a: Discusion de Linux en Castellano Asunto: Buscar y Eliminar Enviado: 21 Abr, 2010 12:35 Hola a todos. alguien me podria ayudar con algun script en bash, que "busque un tipo de archivo X y automaticamente lo elimine" ? lo que pasa es que hay un servidor con samba, entonces, una vez por semana tengo que realizar una busqueda de todos los archivos que no sean documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos todos. es una medida del gerente para que solo se guarden archivos excel, word, pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas asi. ¿o se le puede decir al samba que impida que un usuario guarde en su cuota algun tipo de archivo? saludos y muchas gracias mauricio.
Re: Buscar y Eliminar
El 21/04/10 12:35, listali...@tecnocreativo.cl escribió: > Hola a todos. >alguien me podria ayudar con algun script en bash, que "busque un tipo > de archivo X y automaticamente lo elimine" ? > lo que pasa es que hay un servidor con samba, entonces, una vez por semana > tengo que realizar una busqueda de todos los archivos que no sean > documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos todos. find $d -regextype 'egrep' -iregex '.*\.(mp3|avi)$' -exec rm -rf "{}" \; Donde $d es el directorio raíz de donde están los documentos. > es una medida del gerente para que solo se guarden archivos excel, word, > pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas asi. > > ¿o se le puede decir al samba que impida que un usuario guarde en su cuota > algun tipo de archivo? Eso no lo sé. :P -- Renato Covarrubias Romero counter.li.org #399677 rcovarru [at] alumnos.inf.utfsm.cl http://rnt.cl Estudiante Ingenieria Civil Informatica, Casa Central, UTFSM. signature.asc Description: OpenPGP digital signature
Re: Buscar y Eliminar
tendria que ser algo mas o menos así: #!/bin/bash find /carpeta_donde_buscar -name "archivos que quieres buscar (por ejemplo *.mp3)" > /tmp/lista_archivos_a_borrar for i in $(cat /tmp/lista_archivos_a_borrar) ; do rm -rf $i ; done con esto guardas la lista de archivos que eliminaste en el temporal, teniendo la alternativa de guardarla en otro lado por si es necesario saber "que borraste" y evitar problemas de "aaa el administrador me borro mi trabajo, no puedo hacer nada". ahora, se puede mejorar, por ejemplo pasandole el find directamente al for: #!/bin/bash for i in $(find /carpeta_donde_buscar -name "archivos que quieres buscar (por ejemplo *.mp3)" ) ; do rm -rf $i ; done Me parece que sería mejor que movieras los archivos a una carpeta donde solo tu tengas acceso, y después de revisarla la elimines, porque eventualmente podrías eliminar algun documento importante. en ese caso en vez de rm -rf tendrías que poner mv $i /carpeta_destino/ atentos saludos 2010/4/21 > Hola a todos. > alguien me podria ayudar con algun script en bash, que "busque un tipo > de archivo X y automaticamente lo elimine" ? > lo que pasa es que hay un servidor con samba, entonces, una vez por semana > tengo que realizar una busqueda de todos los archivos que no sean > documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos todos. > > es una medida del gerente para que solo se guarden archivos excel, word, > pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas asi. > > ¿o se le puede decir al samba que impida que un usuario guarde en su cuota > algun tipo de archivo? > > saludos y muchas gracias > mauricio. > > -- Francisco Espinoza Cárdenas Estudiante Ingeniería Civil Mecánica Universidad de Chile
Re: Buscar y Eliminar
El 21 de abril de 2010 12:44, Francisco Espinoza Cárdenas < fraes...@gmail.com> escribió: > tendria que ser algo mas o menos así: > > #!/bin/bash > find /carpeta_donde_buscar -name "archivos que quieres buscar (por ejemplo > *.mp3)" > /tmp/lista_archivos_a_borrar > for i in $(cat /tmp/lista_archivos_a_borrar) ; do rm -rf $i ; done > > con esto guardas la lista de archivos que eliminaste en el temporal, > teniendo la alternativa de guardarla en otro lado por si es necesario saber > "que borraste" y evitar problemas de "aaa el administrador me borro mi > trabajo, no puedo hacer nada". > > ahora, se puede mejorar, por ejemplo pasandole el find directamente al for: > > #!/bin/bash > for i in $(find /carpeta_donde_buscar -name "archivos que quieres buscar > (por ejemplo *.mp3)" ) ; do rm -rf $i ; done > > Me parece que sería mejor que movieras los archivos a una carpeta donde > solo > tu tengas acceso, y después de revisarla la elimines, porque eventualmente > podrías eliminar algun documento importante. > > en ese caso en vez de rm -rf tendrías que poner mv $i /carpeta_destino/ > > atentos saludos > > 2010/4/21 > > > Hola a todos. > > alguien me podria ayudar con algun script en bash, que "busque un tipo > > de archivo X y automaticamente lo elimine" ? > > lo que pasa es que hay un servidor con samba, entonces, una vez por > semana > > tengo que realizar una busqueda de todos los archivos que no sean > > documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos todos. > > > > es una medida del gerente para que solo se guarden archivos excel, word, > > pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas > asi. > > > > ¿o se le puede decir al samba que impida que un usuario guarde en su > cuota > > algun tipo de archivo? > > > > saludos y muchas gracias > > mauricio. > > > > > > > -- > Francisco Espinoza Cárdenas > Estudiante Ingeniería Civil Mecánica > Universidad de Chile > que grandes mentes ... y que flojas mentes. -- barbud...@gmail.com
Re: Buscar y Eliminar
On Wed, 21 Apr 2010 10:35:44 -0600, listali...@tecnocreativo.cl wrote: > Hola a todos. >alguien me podria ayudar con algun script en bash, que "busque un tipo > de archivo X y automaticamente lo elimine" ? > lo que pasa es que hay un servidor con samba, entonces, una vez por semana > tengo que realizar una busqueda de todos los archivos que no sean > documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos todos. > > es una medida del gerente para que solo se guarden archivos excel, word, > pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas asi. > > ¿o se le puede decir al samba que impida que un usuario guarde en su cuota > algun tipo de archivo? > > saludos y muchas gracias > mauricio. Estimado , ya vi que pusieron soluciones con grep , find ...etc. Pero ocupa en los directorios compartidos la opcion veto files en el smb.conf probablemente. veto files = /*.exe/*.com/*.scr/*.pif/*.bat/*.inf/*.msi/ Algo asi por ejemplo. Con eso evitas el problema , aunque un usuario mas pillo cambiara las extensiones y pasara igual .. pero en ese caso pones el modo de auditoria de samba para acusarlos :). Saludos.
Re: Buscar y Eliminar
2010/4/21 Hector Gatica > On Wed, 21 Apr 2010 10:35:44 -0600, listali...@tecnocreativo.cl wrote: > > Hola a todos. > >alguien me podria ayudar con algun script en bash, que "busque un > tipo > > de archivo X y automaticamente lo elimine" ? > > lo que pasa es que hay un servidor con samba, entonces, una vez por > semana > > tengo que realizar una busqueda de todos los archivos que no sean > > documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos > todos. > > > > es una medida del gerente para que solo se guarden archivos excel, word, > > pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas > asi. > > > > ¿o se le puede decir al samba que impida que un usuario guarde en su > cuota > > algun tipo de archivo? > > > > saludos y muchas gracias > > mauricio. > > Estimado , ya vi que pusieron soluciones con grep , find ...etc. > > Pero ocupa en los directorios compartidos la opcion veto files en el > smb.conf probablemente. > > veto files = /*.exe/*.com/*.scr/*.pif/*.bat/*.inf/*.msi/ > > Algo asi por ejemplo. > > Con eso evitas el problema , aunque un usuario mas pillo cambiara las > extensiones y pasara igual .. pero en ese caso pones el modo de auditoria > de samba para acusarlos :). > Puedes agregar file a los scripts e inspeccionar el magic number, mas que la extensi'on. > > Saludos. > -- Herman Vega Jara hvegax[a]gmail.com
Re: Buscar y Eliminar
2010/4/21 : > Hola a todos. > alguien me podria ayudar con algun script en bash, que "busque un tipo > de archivo X y automaticamente lo elimine" ? > lo que pasa es que hay un servidor con samba, entonces, una vez por semana > tengo que realizar una busqueda de todos los archivos que no sean > documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos todos. > No es necesario hacerlo dentro de un script, sólo basta un comando. Por ej, eliminar todos los .js y .py de /tmp $ find /tmp/ -type f \( -name \*.py , -name \*.js \) -exec rm -f {} \; > es una medida del gerente para que solo se guarden archivos excel, word, > pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas asi. > > ¿o se le puede decir al samba que impida que un usuario guarde en su cuota > algun tipo de archivo? > -- www.mgonzalez.cl/ twitter.com/gonzalemario
Re: Buscar y Eliminar
Una sutileza, el -f del rm esta demas. ClaudioH --Mensaje original-- De: Mario Gonzalez Remitente: linux-boun...@listas.inf.utfsm.cl Para: Discusion de Linux en Castellano Responder a: Discusion de Linux en Castellano Asunto: Re: Buscar y Eliminar Enviado: 21 Abr, 2010 13:57 2010/4/21 : > Hola a todos. > alguien me podria ayudar con algun script en bash, que "busque un tipo > de archivo X y automaticamente lo elimine" ? > lo que pasa es que hay un servidor con samba, entonces, una vez por semana > tengo que realizar una busqueda de todos los archivos que no sean > documentos, como por ejemplo archivos mp3, avi, etc, y eliminarlos todos. > No es necesario hacerlo dentro de un script, sólo basta un comando. Por ej, eliminar todos los .js y .py de /tmp $ find /tmp/ -type f \( -name \*.py , -name \*.js \) -exec rm -f {} \; > es una medida del gerente para que solo se guarden archivos excel, word, > pdf ... en la carpeta de los usuarios, y no peliculas, musica o cosas asi. > > ¿o se le puede decir al samba que impida que un usuario guarde en su cuota > algun tipo de archivo? > -- www.mgonzalez.cl/ twitter.com/gonzalemario
Re: Buscar y Eliminar
chormaza...@ucentral.cl escribió: > Una sutileza, el -f del rm esta demas. Otra sutileza, puedes usar -delete: $ find /tmp/ -type f \( -name \*.py , -name \*.js \) -delete -- Alvaro Herrera http://planet.postgresql.org/ "Most hackers will be perfectly comfortable conceptualizing users as entropy sources, so let's move on." (Nathaniel Smith)
Re: Buscar y Eliminar
On 21 April 2010 14:30, Alvaro Herrera wrote: > chormaza...@ucentral.cl escribió: >> Una sutileza, el -f del rm esta demas. > > Otra sutileza, puedes usar -delete: > > $ find /tmp/ -type f \( -name \*.py , -name \*.js \) -delete > um, "delete" no lo conocía. El "-f" sirve en situaciones donde no tienes certeza de los permisos de el o los archivos que tratarás de borrar, así evitas mensajes similares a "rm: remove write-protected regular". > -- http://www.mgonzalez.cl/ http://twitter.com/gonzalemario
Re: Buscar y Eliminar
El día 21 de abril de 2010 15:57, Mario Gonzalez escribió: > On 21 April 2010 14:30, Alvaro Herrera wrote: >> chormaza...@ucentral.cl escribió: >>> Una sutileza, el -f del rm esta demas. >> >> Otra sutileza, puedes usar -delete: >> >> $ find /tmp/ -type f \( -name \*.py , -name \*.js \) -delete >> > > um, "delete" no lo conocía. El "-f" sirve en situaciones donde no > tienes certeza de los permisos de el o los archivos que tratarás de > borrar, así evitas mensajes similares a "rm: remove write-protected > regular". > >> > > -- > http://www.mgonzalez.cl/ > http://twitter.com/gonzalemario > Una consulta... Ya esta claro que se puede buscar con el nombre del archivo o parte de él. Pero ¿se podrá analizar por el "tipo", como lo hacen (por ejemplo) aplicaciones de X como dolphin o nautilus, que detectan el tipo del archivo aun cuando uno les cambie o quite la la extensión? -- ~~~ Atentamente, Gonzalo Díaz Cruz Estudiante Ingeniería de Ejecución en Computación e Informática Universidad de Santiago de Chile ~~~ http://blog.gon.cl/ http://twitter.com/sir_gon
Re: Buscar y Eliminar
Gonzalo Diaz escribió: > Una consulta... > Ya esta claro que se puede buscar con el nombre del archivo o parte de él. > Pero ¿se podrá analizar por el "tipo", como lo hacen (por ejemplo) > aplicaciones de X como dolphin o nautilus, que detectan el tipo del > archivo aun cuando uno les cambie o quite la la extensión? Buena pregunta. find no lo hace directamente. Me imagino que los indexadores de escritorio tienen mecanismo para hacerlo, pero en el caso de querer usar las herramientas básicas tendrías que correr un find que devuelva todos los archivos, y para cada uno ejecutar "file" e ir eliminando aquellos que no cumplan tu condición. -- Alvaro Herrera http://www.flickr.com/photos/alvherre/ "Digital and video cameras have this adjustment and film cameras don't for the same reason dogs and cats lick themselves: because they can." (Ken Rockwell)
Re: Buscar y Eliminar
> Una consulta... > Ya esta claro que se puede buscar con el nombre del archivo o parte de él. > Pero ¿se podrá analizar por el "tipo", como lo hacen (por ejemplo) > aplicaciones de X como dolphin o nautilus, que detectan el tipo del > archivo aun cuando uno les cambie o quite la la extensión? > En algún momento me encontré con un problema similar y tuve que fabricar una solución. Necesitaba averiguar el tipo y corregir la extensión de varios archivos con el nombre modificado. Lo hice con un pequeño script (adjunto) que compara el mime del archivo con el string que le des. Luego ejecutando algo como: find -exec ./tipo '{}' application/pdf \; -print obtienes una lista de todos los archivos pdf, independiente de su extensión. Puedes usar el resultado de la busqueda como argumento de otro script que mande los archivos a donde necesites. Cambiando el mime puedes buscar otras cosas. No sé si es lo más eficiente, pero es eficaz. Saludos, -- Francisco Durán #!/bin/bash if [ `file --mime-type "$@"[1] |grep "$2[A-Za-z0-9_-]*/\?[A-Za-z0-9_-]*$"|wc -l` = 1 ]; then exit 0; else exit 1; fi
Re: Buscar y Eliminar
On Apr 22, 2010, at 9:39 PM, Alvaro Herrera wrote: > Gonzalo Diaz escribió: >> Una consulta... >> Ya esta claro que se puede buscar con el nombre del archivo o parte de él. >> Pero ¿se podrá analizar por el "tipo", como lo hacen (por ejemplo) >> aplicaciones de X como dolphin o nautilus, que detectan el tipo del >> archivo aun cuando uno les cambie o quite la la extensión? > Buena pregunta. find no lo hace directamente. Me imagino que los > indexadores de escritorio tienen mecanismo para hacerlo, pero en el caso > de querer usar las herramientas básicas tendrías que correr un find que > devuelva todos los archivos, y para cada uno ejecutar "file" e ir > eliminando aquellos que no cumplan tu condición. Hacer find y file sobre una montonera de archivos puede ser bastante caro y lento... Siguiendo la idea de los indexadores: podrían hacer algo basado en inotify, de manera que apenas alguien suba un mp3 se le notifique al usuario ;-) Aldrin Martoq http://aldrin.martoq.cl/
RE: Buscar y Eliminar
Si, sale caro, alternativa es el locate con venjas y desventajas sobre find: ventaja, mas rápido ya que consulta a un archivo con la info de los archivos en los file systems, desventaja esa info puede estar desactualizada. Ahora eso del inotify se ve bien, buen aporte, se estudiarà. Atte., Claudio Hormazábal Ocampo Administrador de Sistemas Universidad Central de Chile Fono: (56) (2) 582 6059 Skype: claudio.hormazabal http://claudio.hormazabal.cl -Mensaje original- De: linux-boun...@listas.inf.utfsm.cl [mailto:linux-boun...@listas.inf.utfsm.cl] En nombre de Aldrin Martoq Enviado el: viernes, 23 de abril de 2010 6:58 Para: Discusion de Linux en Castellano Asunto: Re: Buscar y Eliminar On Apr 22, 2010, at 9:39 PM, Alvaro Herrera wrote: > Gonzalo Diaz escribió: >> Una consulta... >> Ya esta claro que se puede buscar con el nombre del archivo o parte de él. >> Pero ¿se podrá analizar por el "tipo", como lo hacen (por ejemplo) >> aplicaciones de X como dolphin o nautilus, que detectan el tipo del >> archivo aun cuando uno les cambie o quite la la extensión? > Buena pregunta. find no lo hace directamente. Me imagino que los > indexadores de escritorio tienen mecanismo para hacerlo, pero en el caso > de querer usar las herramientas básicas tendrías que correr un find que > devuelva todos los archivos, y para cada uno ejecutar "file" e ir > eliminando aquellos que no cumplan tu condición. Hacer find y file sobre una montonera de archivos puede ser bastante caro y lento... Siguiendo la idea de los indexadores: podrían hacer algo basado en inotify, de manera que apenas alguien suba un mp3 se le notifique al usuario ;-) Aldrin Martoq http://aldrin.martoq.cl/