Mover varios archivos que tenga una condición.
Publicado por Marco N (3 intervenciones) el 25/05/2010 13:01:55
Hola saludos a todos, espero detallar bien mi consulta y que alguien me pueda ayudar con lo siguiente.
La consulta es:
Por día genero aproximadamente 2000 archivos los cuales quedan en un directorio X lo que necesito es mover del directorio X todos los archivos que cumplan una condición por ejemplo sean del 05 de abril, estos archivos moverlos al directorio Z
Para esto genere el siguiente script
for file in `ls -ltr|grep -E "Apr 05"`;do mv $file /directorio Z/;done
El script cumple su función de mover los archivos. El inconveniente es que arroja el mensaje que mas abajo se indica.
mv: Not a recognized flag: r
Usage: mv [-I] [-i | -f] [-E{force|ignore|warn}] [--] src target
or: mv [-I] [-i | -f] [-E{force|ignore|warn}] [--] src1 ... srcN directory
mv: 0653-401 Cannot rename 1 to /usr1_new/data/outgoing//1:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename orbit to /usr1_new/data/outgoing//orbit:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename osgrp1 to /usr1_new/data/outgoing//osgrp1:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename 91 to /usr1_new/data/outgoing//91:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename Apr to /usr1_new/data/outgoing//Apr:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename 05 to /usr1_new/data/outgoing//05:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename 23:12 to /usr1_new/data/outgoing//23:12:
A file or directory in the path name does not exist.
Ya que al realizar un ls -ltr dentro del script el comando mv esta también tomando los datos de los permisos, el usuario, la hora, etc. Y quiere realizar una ejecución con esos datos.
La consulta es, de que forma puedo evitar esto, lo quiero evitar por algo estético, lo solicitado que es mover los archivos funciona, como soy el único que usa este script me da igual que arroje estos mensaje, pero si se puede mejorar porque no hacerlo, o si alguien tiene un mejor script y lo pueda compartir se lo agradecería.
Atte.
Marco N.
La consulta es:
Por día genero aproximadamente 2000 archivos los cuales quedan en un directorio X lo que necesito es mover del directorio X todos los archivos que cumplan una condición por ejemplo sean del 05 de abril, estos archivos moverlos al directorio Z
Para esto genere el siguiente script
for file in `ls -ltr|grep -E "Apr 05"`;do mv $file /directorio Z/;done
El script cumple su función de mover los archivos. El inconveniente es que arroja el mensaje que mas abajo se indica.
mv: Not a recognized flag: r
Usage: mv [-I] [-i | -f] [-E{force|ignore|warn}] [--] src target
or: mv [-I] [-i | -f] [-E{force|ignore|warn}] [--] src1 ... srcN directory
mv: 0653-401 Cannot rename 1 to /usr1_new/data/outgoing//1:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename orbit to /usr1_new/data/outgoing//orbit:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename osgrp1 to /usr1_new/data/outgoing//osgrp1:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename 91 to /usr1_new/data/outgoing//91:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename Apr to /usr1_new/data/outgoing//Apr:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename 05 to /usr1_new/data/outgoing//05:
A file or directory in the path name does not exist.
mv: 0653-401 Cannot rename 23:12 to /usr1_new/data/outgoing//23:12:
A file or directory in the path name does not exist.
Ya que al realizar un ls -ltr dentro del script el comando mv esta también tomando los datos de los permisos, el usuario, la hora, etc. Y quiere realizar una ejecución con esos datos.
La consulta es, de que forma puedo evitar esto, lo quiero evitar por algo estético, lo solicitado que es mover los archivos funciona, como soy el único que usa este script me da igual que arroje estos mensaje, pero si se puede mejorar porque no hacerlo, o si alguien tiene un mejor script y lo pueda compartir se lo agradecería.
Atte.
Marco N.
Valora esta pregunta


0