Autor
|
Tema: Como pasar varias carpetas o archivos por comandos en la terminal (Leído 15,405 veces)
|
wilivarob
Desconectado
Mensajes: 29
|
Buenas a tod@s, tengo la siguiente duda y por mas que eh buscado por la red no encuentro lo que quiero hacer.
Tengo una usb donde hay varias carpetas y archivos, pero quiero pasar solo las carpetas, solo que son 13.
Se que se usa el comando "cp" (para copiar) y "mv" (para mover), ahora si quiero mover todas las carpetas o copiarlas tendria que hacer lo siguiente:
cp dir1 dir2 dir3 (para copiar) mv dir1 dir2 dir3 (para mover)
Eh aqui el lio, son 13 carpetas y ya se pueden imaginar escribir "mv (y los 13 nombres de las carpetas), asi que en mi caso hay algo y las carpetas que quiero pasar estan enumeradas (1. Documentos, 2. Papeleria, 3. PDF, etc).
Encontre algo no me acuerdo exactamente si es asi, el lio es que me pasa todo hasta los archivos sueltos y solo quiero pasar las 13 carpetas....
mv /home/media/USB/* /home/wilivarob/Documentos (aqui tengo entendido que con el * me pasaria todo.
Teniendo en cuenta ya mi ejemplo, mi siguiente duda es como se haria si las carpetas no estuvieran enumeradas.
Por adelantado muchas gracias.
|
|
|
En línea
|
|
|
|
engel lex
|
mv /home/media/USB/* /home/wilivarob/Documentos eso movería todo efectivamente.... pero mv /home/media/USB/*/ /home/wilivarob/Documentos observa el slash luego del asterisco, eso indica carpetas, solo moverá todas las carpetas, dajará los que no son carpetas en el directorio raíz del usb intactos
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
wilivarob
Desconectado
Mensajes: 29
|
mv /home/media/USB/* /home/wilivarob/Documentos eso movería todo efectivamente.... pero mv /home/media/USB/*/ /home/wilivarob/Documentos observa el slash luego del asterisco, eso indica carpetas, solo moverá todas las carpetas, dajará los que no son carpetas en el directorio raíz del usb intactos Gracias colega por responder pero la duda ahora es la siguiente, teniendo en cuenta que funciona el comando me pasaria todas las carpetas, pero si no quiero pasar una carpeta como podria hacerlo, teniendo en cuenta el ejemplo que mencione, son 13 carpetas pero si solo quiero pasar 12???
|
|
|
En línea
|
|
|
|
engel lex
|
y que factor excluiría a la 13va carpeta?
es decir, no estás siendo especifico, no es como si el comando sabe lo que piensas, yo tampoco...
|
|
« Última modificación: 13 Junio 2017, 23:10 pm por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
wilivarob
Desconectado
Mensajes: 29
|
y que factor excluiría a la 13va carpeta?.... Lo que quiero decir es que dado el caso que tuviera que pasar solo 12 carpetas como lo haría, o 10 carpetas. Si el comando que me indicas pasaría todas las carpetas.
|
|
|
En línea
|
|
|
|
engel lex
|
ok, entiendo que solo quieres pasar una parte... pero repito, no estás siendo especifico
siendo 13 y quieres pasar 10, pueden ser 10 cualquiera? o tienen alguna característica? el codigo no puede leer tu mente, tienes que decidir una característica que las agrupe...
imaginate el siguiente caso...
en un escritorio hay 10 documentos y 13 carpetas llenas de papeles y te digo... "trae 12 carpetas, pero no traigas la equivocada" como decides?
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
wilivarob
Desconectado
Mensajes: 29
|
ok, entiendo que solo quieres pasar una parte... pero repito, no estás siendo especifico....... Exacto amigo ese es el hilo y teniendo en cuenta el ejemplo que mencione, como haría para pasar las carpetas del 1 al 12, como haria para pasar todas las carpetas sin la número 5..... Ten en cuenta que en el ejemplo que doy mis 13 carpetas están enumeradas una carpeta la tengo con el nombre de "1. Documentos" otra ”2. Papeleria", "3. Pdf”, las 13 están enumeradas.
|
|
|
En línea
|
|
|
|
engel lex
|
en este caso es mucho más complejo... como yo lo haría asumiendo que es la capeta cuyo nombre empieza por el numero 5 ls -D /home/media/USB/ | grep -v -E "^5" | while read -r archivo; do mv "/home/media/USB/$archivo" /home/wilivarob/Documentos/; done
ojo que ahí estamos mezclando parametros, inversiones, ciclos y regex XD pruebalo primero, lo estoy haciendo un poco de mente y no estoy seguro si la sintaxis está 100% bien
|
|
« Última modificación: 14 Junio 2017, 00:10 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
wilivarob
Desconectado
Mensajes: 29
|
en este caso es mucho más complejo... como yo lo haría asumiendo que es la capeta cuyo nombre empieza por el numero 5....... Wuauuu amigo ahora si que quede más perdido pero intento entender.... El código que envías haría pasar todas las carpetas excepto la 5, osea el código lo que hace es retener la carpeta 5 y mover el resto. Podrías decirme que hace cada cosa, se que aunque no tenga idea que hace -D lo demás listaria las carpetas que hay en la USB, el "|", no estoy seguro pero creo que ejecuta algo como en segundo plano?, Por favor me gustaría saber quiero aprender.... Por otro lado donde dice "/home/media/USB/$archivo" que haría ese "$archivo"
|
|
|
En línea
|
|
|
|
engel lex
|
el | sirve para pasar el standar output del lado izquierdo al standard input de la función de la derecha... basicamente toma la salida y la inyecta al siguiente ls -D /home/media/USB/
lista solo directorios en dicha carpeta grep -v -E "^5"
grep busca coincidencias, -v invierte lo conseguido, -E indica que vamos a usar REGEX extendido, ^5 indica "algo empezado por 5" en regex while read -r archivo; do
while es un ciclo, read es una función que permite por -r leer una entrada linea a linea y salvarla en la variable archivomv "/home/media/USB/$archivo" /home/wilivarob/Documentos/
esto mueve de la primera ruta, usando la variable archivo como el nombre del archivo, a la segunda ruta ; done
cierra el ciclo... esto es aprender poco a poco bash y mezcla cosas que requieren ya algo de conocimiento en lenguajes de programación... por eso te decía que no era ta simple... tienes que aclararle a la pc que quieres excluir y al ser casos puntuales como el que pones, se empieza a volver extenso el asunto
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Comandos y curiosidades en tu terminal
Noticias
|
wolfbcn
|
0
|
2,711
|
19 Febrero 2011, 18:05 pm
por wolfbcn
|
|
|
Como pasar argumentos por linea de comandos en wxWidgets
Programación C/C++
|
Noxware
|
6
|
4,834
|
3 Diciembre 2014, 09:00 am
por Eternal Idol
|
|
|
Como maximizar la terminal por comandos.
GNU/Linux
|
Todo-System.
|
1
|
2,175
|
23 Julio 2015, 16:28 pm
por Slava_TZD
|
|
|
Como maximizar la terminal por comandos.
Scripting
|
Todo-System.
|
1
|
2,310
|
21 Julio 2015, 03:33 am
por engel lex
|
|
|
Crear Varias carpetas y Sub-Carpetas
Scripting
|
P3NDULO
|
1
|
5,697
|
23 Agosto 2019, 04:05 am
por @XSStringManolo
|
|