sirix | buenas noches | 01:43 |
---|---|---|
dannyLopez | Buenos días. o/ | 15:53 |
dannyLopez | ¿Hay alguna forma de mover los archivos que se obtienen de un find? | 15:53 |
guampa | dannyLopez: find tiene el parametro -exec | 15:57 |
guampa | -exec <argumentos> \; | 15:57 |
guampa | dentro de <argumentos>, la cadena {} es reemplazada por el item encontrado | 15:57 |
dannyLopez | Sí, también estaba leyendo de awk y xargs, sólo que pregunté acá porque pensé que mi pregunta no era muy entendible para Google. | 15:58 |
guampa | xargs es raro que sea necesario usarlo con find, dado -exec | 15:59 |
guampa | no recuerdo exactamente porque pero hubo veces que opte por xargs con find | 15:59 |
guampa | ahora no se me ocurre porque | 15:59 |
guampa | si es mas frecuente con pipes desde grep etc | 15:59 |
dannyLopez | Cuando dices pipes te refieres al uso de awk ¿Verdad? | 16:00 |
guampa | no, al pipe | | 16:00 |
dannyLopez | Ah ya, es que según lo que veo, el xargs y el awk son los únicos que requieren pipes | 16:01 |
guampa | awk en realidad puede abrir archivos para lectura, es un mini lenguaje completo | 16:02 |
guampa | pero si es verdad que principalmente esta pensado para trabajar con entrada estandar | 16:02 |
dannyLopez | Oh, no tenía ni idea de su existencia. :O | 16:02 |
guampa | xargs trabaja solo con entrada estandar | 16:02 |
guampa | ah si es una de las herramientas base de entornos UNIX | 16:02 |
dannyLopez | Me parece curioso para leer sobre awk. | 16:03 |
guampa | esta bueno awk, es bastante simple y muy util | 16:03 |
dannyLopez | guampa: ¿Quedaría así más o menos? find /media/ubuntu/Nuevo -iname *.xls* -exec mv {} -t /media/ubuntu/Nuevo/EXCEL | 16:05 |
dannyLopez | ¿O eso me genera loop? | 16:05 |
guampa | no, esta perfecto | 16:06 |
guampa | solo le falta el terminador | 16:06 |
guampa | al final /; | 16:06 |
dannyLopez | Punto y coma | 16:06 |
guampa | si, necesitas el escape para que no lo tome el shell | 16:07 |
dannyLopez | Ah, va así con /; | 16:07 |
guampa | si, sino el shell lo toma porque la linea la parsea el shell antes que find | 16:07 |
guampa | y ; es separador de comandos para el shell | 16:07 |
dannyLopez | find: missing argument to `-exec' | 16:08 |
guampa | dannyLopez: como quedo la linea que pusiste? | 16:10 |
dannyLopez | Espera inicio desde el Pc en el que estoy trabajando. :) | 16:11 |
lopezDanny | Hola. :) | 16:16 |
lopezDanny | guampa: ubuntu@ubuntu:~$ find /media/ubuntu/Nuevo\ vol/ -iname *.xls* -exec mv {} -t /media/ubuntu/Nuevo\ vol/EXCEL/; | 16:16 |
guampa | ah, separa el terminador con un espacio | 16:16 |
guampa | sino lo toma como parte del path | 16:16 |
lopezDanny | ¿O sea /_; Siendo _ un espacio? | 16:17 |
lopezDanny | Porque lo acabo de hacer y sale lo mismo | 16:17 |
guampa | no | 16:17 |
guampa | el escape \ siempre tiene que ir pegado al caracter que esta escapando, en este caso ; | 16:18 |
guampa | lo que tenes que separar es el conjunto terminador /; del path de destino que le pasas a mv | 16:18 |
guampa | find /media/ubuntu/Nuevo\ vol/ -iname *.xls* -exec mv {} -t /media/ubuntu/Nuevo\ vol/EXCEL /; | 16:18 |
lopezDanny | Aaah ya | 16:18 |
lopezDanny | find /media/ubuntu/Nuevo\ vol/ -iname *.xls* -exec mv {} -t /media/ubuntu/Nuevo\ vol/EXCEL /; find: missing argument to `-exec' | 16:19 |
lopezDanny | :( | 16:19 |
guampa | lopezDanny: no se que puede tener, se ve bien el comando | 16:22 |
guampa | proba sin pasar -t, no es necesario | 16:22 |
lopezDanny | Igual. | 16:23 |
guampa | la verdad no veo que puede estar jodiendo, te diria que pruebes reconstruyendo el comando desde versiones mas simples, de prueba | 16:24 |
guampa | proba con echo en vez de mv, por seguridad | 16:24 |
lopezDanny | Con echo me da el mismo error en -exce | 16:25 |
lopezDanny | s/ec/ec | 16:26 |
lopezDanny | Jajaja | 16:26 |
guampa | ahhhhhh | 16:29 |
guampa | ya veo el problema | 16:29 |
guampa | el caracter de escape esta mal | 16:30 |
guampa | es \ , no / | 16:30 |
lopezDanny | Eso estaba pensando | 16:30 |
guampa | / es el de directorios :p | 16:30 |
lopezDanny | Cuando dices caracter de escape | 16:30 |
lopezDanny | Sólo que me da miedo opinar. Jajaja | 16:30 |
guampa | un escape se llama asi porque "escapa" del motor de interpretacion de algo | 16:30 |
guampa | en este caso del motor de bash que interpreta el texto de una linea (o sea la libreria Readline) | 16:31 |
guampa | al escapar, no se interpreta, se pasa tal como viene sin tomar ninguna accion especial | 16:31 |
guampa | \ significa "el proximo caracter, no lo interpretes, pasalo de largo" | 16:32 |
guampa | asi logras que bash no interprete el punto y coma y find lo pueda recibir | 16:32 |
guampa | por eso es que no te funcionaria con un espacio en el medio | 16:32 |
guampa | estarias escapando el caracter de espacio | 16:33 |
lopezDanny | Ah ya | 16:34 |
dannyLopez | Sí me funcionó, ahora a ponerme a abrir Excels | 16:35 |
dannyLopez | Jajaja | 16:35 |
guampa | :D | 16:35 |
salvador_ | hola! alguien de El Salvador? | 18:30 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!