[01:43] <sirix> buenas noches
[15:53] <dannyLopez> Buenos días. o/
[15:53] <dannyLopez> ¿Hay alguna forma de mover los archivos que se obtienen de un find?
[15:57] <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:58] <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:59] <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
[16:00] <dannyLopez> Cuando dices pipes te refieres al uso de awk ¿Verdad?
[16:00] <guampa> no, al pipe |
[16:01] <dannyLopez> Ah ya, es que según lo que veo, el xargs y el awk son los únicos que requieren pipes
[16:02] <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:03] <dannyLopez> Me parece curioso para leer sobre awk.
[16:03] <guampa> esta bueno awk, es bastante simple y muy util
[16:05] <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:06] <guampa> no, esta perfecto
[16:06] <guampa> solo le falta el terminador
[16:06] <guampa> al final /;
[16:06] <dannyLopez> Punto y coma
[16:07] <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:08] <dannyLopez> find: missing argument to `-exec'
[16:10] <guampa> dannyLopez: como quedo la linea que pusiste?
[16:11] <dannyLopez> Espera inicio desde el Pc en el que estoy trabajando. :)
[16:16] <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:17] <lopezDanny> ¿O sea /_; Siendo _ un espacio?
[16:17] <lopezDanny> Porque lo acabo de hacer y sale lo mismo
[16:17] <guampa> no
[16:18] <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:19] <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:22] <guampa> lopezDanny: no se que puede tener, se ve bien el comando
[16:22] <guampa> proba sin pasar -t, no es necesario
[16:23] <lopezDanny> Igual.
[16:24] <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:25] <lopezDanny> Con echo me da el mismo error en -exce
[16:26] <lopezDanny> s/ec/ec
[16:26] <lopezDanny> Jajaja
[16:29] <guampa> ahhhhhh
[16:29] <guampa> ya veo el problema
[16:30] <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:31] <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:32] <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:33] <guampa> estarias escapando el caracter de espacio
[16:34] <lopezDanny> Ah ya
[16:35] <dannyLopez> Sí me funcionó, ahora a ponerme a abrir Excels
[16:35] <dannyLopez> Jajaja
[16:35] <guampa> :D
[18:30] <salvador_> hola! alguien de El Salvador?