[opensuse-es] Encontrar archivos entre rango de tamaños, recursivamente
Hola a tod@s: Estoy intentando hacer una copia masiva de archivos encontrados a un directorio, pero no logro establecer el rango de tamaño a la búsqueda. Necesito encontrar los archivos de un tamaño superior a 100k y un tamaño menor a 80k, en varios directorios y copiarlos a un directorio, he intentado con éste par de comandos: find /directorio/origen -type f -size +100k -size -80k -exec cp {} /directorio/destino/ \; find /directorio/origen -type f -size +100k ! -size +80k -exec cp {} /directorio/destino/ \; Pero no he obtenido nada. Cansado de no hallar la forma de hacerlo, acudo a su conocimiento y experiencia. Cordialmente, Cuervo Linuxero -- No recibo/envío información elaborados en/para M$-Word, M$-Excel, M$-PowerPoint, M$-Outlook o formatos privativos similares. Le invito a leer mis razones: http://www.gnu.org/philosophy/no-word-attachments.es.html -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
On 2010-09-16 01:43, RŌNIN wrote:
find /directorio/origen -type f -size +100k -size -80k -exec cp {} /directorio/destino/ \;
Creo que tratará de encontrar ambas condiciones simultáneamente. Y no encuentro en el manual lo que significan el + y el menos - me lo supongo, pero quiero verlo para comprobar tu linea.
find /directorio/origen -type f -size +100k ! -size +80k -exec cp {} /directorio/destino/ \;
La exclamación la intercepta la shell, tienes que protegerla. -- Cheers / Saludos, Carlos E. R. (from 11.2 x86_64 "Emerald" GM (Elessar))
Hola a tod@s: El día 15 de septiembre de 2010 19:55, Carlos E. R. escribió:
La exclamación la intercepta la shell, tienes que protegerla.
Lo siento, pero no soy programador, no entendí lo que escribiste aquí ... y tampoco sé como ponerlo en la línea de comandos. ¿Podrías ayudarme con un ejemplo, por favor ? Cordialmente, Cuervo Linuxero -- No recibo/envío información elaborados en/para M$-Word, M$-Excel, M$-PowerPoint, M$-Outlook o formatos privativos similares. Le invito a leer mis razones: http://www.gnu.org/philosophy/no-word-attachments.es.html -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Thu, 16 Sep 2010 09:17:40 -0500, RŌNIN escribió:
El día 15 de septiembre de 2010 19:55, Carlos E. R. escribió:
La exclamación la intercepta la shell, tienes que protegerla.
Lo siento, pero no soy programador, no entendí lo que escribiste aquí ... y tampoco sé como ponerlo en la línea de comandos.
Quiere decir que el carácter "!" es una palabra reservada en Bash que no puedes utilizar a menos que la "escapes". De todas formas, parece que en este caso funciona sin necesidad de protegerla :-? sm01@stt008:~$ find -type f -size +100k \! -size -80k | wc -l 2925 sm01@stt008:~$ find -type f -size +100k -not -size -80k | wc -l 2925 sm01@stt008:~$ find -type f -size +100k ! -size -80k | wc -l 2925
¿Podrías ayudarme con un ejemplo, por favor ?
Arriba lo tienes (el primero). Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Hola a tod@s:
Estoy intentando hacer una copia masiva de archivos encontrados a un directorio, pero no logro establecer el rango de tamaño a la búsqueda.
Necesito encontrar los archivos de un tamaño superior a 100k y un tamaño menor a 80k, en varios directorios y copiarlos a un directorio, he intentado con éste par de comandos:
find /directorio/origen -type f -size +100k -size -80k -exec cp {} /directorio/destino/ \;
find /directorio/origen -type f -size +100k ! -size +80k -exec cp {} /directorio/destino/ \;
Pero no he obtenido nada. Cansado de no hallar la forma de hacerlo, acudo a su conocimiento y experiencia.
Cordialmente,
Cuervo Linuxero
-size +100k -or -size +80k , tambien es mejor xargs que -exec. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Hola a tod@s: El día 15 de septiembre de 2010 20:00, jose maria escribió:
-size +100k -or -size +80k , tambien es mejor xargs que -exec. --
No sabía que el condicional "o" era tan sencillo, pero ahora han surgido otros problemas: Ejecutando este comando, no copia nada al destino: find /directorio/origen -type f -size +100k -or -size +80k -exec cp {} /directorio/destino \; Ejecutando este comando, copia los archivos de tamaño superior a 100K, pero también copia los archivos de tamaño inferior a 80K: find /directorio/origen -type f -size +100k -or -size -80k -exec cp {} /directorio/destino \; Quedo atento a sus indicaciones/comentarios/sugerencias. Cordialmente, Cuervo Linuxero -- No recibo/envío información elaborados en/para M$-Word, M$-Excel, M$-PowerPoint, M$-Outlook o formatos privativos similares. Le invito a leer mis razones: http://www.gnu.org/philosophy/no-word-attachments.es.html -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
RŌNIN escribió:
Ejecutando este comando, no copia nada al destino:
find /directorio/origen -type f -size +100k -or -size +80k -exec cp {} /directorio/destino \;
* Un simple error tipografico -size +100k -or -size -80k .
Ejecutando este comando, copia los archivos de tamaño superior a 100K, pero también copia los archivos de tamaño inferior a 80K:
find /directorio/origen -type f -size +100k -or -size -80k -exec cp {} /directorio/destino \;
* Y no era eso lo que querias? -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (4)
-
Camaleón
-
Carlos E. R.
-
jose maria
-
RŌNIN