jueves, 10 de marzo de 2011

Copia Recursiva de varios archivos en diferentes directorios sin tomar en cuenta los directorios

Algunas personas aprendemos, de acuerdo a los problemas que se nos presenten y otros por curiosidad, pues mi caso es el primero, me paso que yo tenia una estructura de archivos de esta manera

a simple vista se puede observar que tengo una lista de carpetas organizadas, en donde cada una tiene un monton de archivos .deb, de esta manera

 alacarte
│   └── alacarte_0.13.2-1_all.deb
├── bluetooth
│   ├── bluetooth_4.66-3_all.deb
│   ├── bluez_4.66-3_amd64.deb
│   ├── bluez-alsa_4.66-3_amd64.deb
│   ├── bluez-cups_4.66-3_amd64.deb
│   ├── bluez-gstreamer_4.66-3_amd64.deb
│   ├── gnome-bluetooth_2.30.0-2_amd64.deb
│   ├── gpe-bluetooth_0.56-3_amd64.deb
│   ├── gpe-icons_0.25-1_all.deb
│   ├── libcap-ng0_0.6.4-1_amd64.deb
│   ├── libcontactsdb0_0.5-4_amd64.deb
│   ├── libeventdb2_0.90-4_amd64.deb
│   ├── libgnome-bluetooth7_2.30.0-2_amd64.deb
│   ├── libgpepimc0_0.9-2_amd64.deb
│   ├── libgpevtype1_0.50-4_amd64.deb
│   ├── libgpewidget1_0.117-2_amd64.deb
│   ├── liblqr-1-0_0.4.1-1_amd64.deb
│   ├── libmagickcore3_8%3a6.6.0.4-3_amd64.deb
│   ├── libmagickwand3_8%3a6.6.0.4-3_amd64.deb
│   ├── libmimedir-gnome0.4_0.4.2-2_amd64.deb
│   ├── libnl1_1.1-6_amd64.deb
│   ├── libopenobex1_1.5-2_amd64.deb
│   ├── libsqlite0_2.8.17-6_amd64.deb
│   ├── libtododb0_0.11-2_amd64.deb
│   ├── obex-data-server_0.4.5-1+b1_amd64.deb
│   └── obexd-client_0.28-1_amd64.deb
├── build-essential
│   ├── binutils_2.20.1-16_amd64.deb
│   ├── build-essential_11.5_amd64.deb
│   ├── dpkg-dev_1.15.8.10_all.deb
│   ├── fakeroot_1.14.4-1_amd64.deb
│   ├── g++_4%3a4.4.5-1_amd64.deb
│   ├── g++-4.4_4.4.5-8_amd64.deb
│   ├── gcc_4%3a4.4.5-1_amd64.deb
│   ├── gcc-4.4_4.4.5-8_amd64.deb
│   ├── libalgorithm-diff-perl_1.19.02-2_all.deb
│   ├── libalgorithm-diff-xs-perl_0.04-1_amd64.deb
│   ├── libalgorithm-merge-perl_0.08-2_all.deb
│   ├── libc6-dev_2.11.2-10_amd64.deb
│   ├── libc-dev-bin_2.11.2-10_amd64.deb
│   ├── libdpkg-perl_1.15.8.10_all.deb
│   ├── libstdc++6-4.4-dev_4.4.5-8_amd64.deb
│   ├── linux-libc-dev_2.6.32-30_amd64.deb
│   ├── make_3.81-8_amd64.deb
│   └── manpages-dev_3.27-1_all.deb
├── chromiun-browser
│   ├── chromium-browser_6.0.472.63~r59945-5+squeeze2_amd64.deb
│   ├── chromium-browser-dbg_6.0.472.63~r59945-5+squeeze2_amd64.deb
│   ├── chromium-browser-inspector_6.0.472.63~r59945-5+squeeze2_all.deb
│   ├── chromium-browser-l10n_6.0.472.63~r59945-5+squeeze2_all.deb
│   ├── libglewmx1.5_1.5.4-1_amd64.deb
│   └── libv8-2.2.24_2.2.24-6_amd64.deb
├── compresion
│   ├── p7zip-rar_9.04~ds.1-1_amd64.deb
│   ├── rar_2%3a3.9.3-1_amd64.deb
│   ├── unrar_1%3a3.9.10-1_amd64.deb
│   └── unrar-free_1%3a0.0.1+cvs20071127-1_amd64.deb
├── dropbox
│   └── nautilus-dropbox_0.6.1-1_amd64.deb
├── empathy
│   ├── avahi-daemon_0.6.27-2+squeeze1_amd64.deb
│   ├── ca-certificates_20090814+nmu2_all.deb
│   ├── empathy_2.30.3-1_amd64.deb
│   ├── empathy-common_2.30.3-1_all.deb
│   ├── freedesktop-sound-theme_0.7.dfsg-1_amd64.deb
│   ├── freepats_20060219-1_all.deb
│   ├── geoclue_0.12.0-1_amd64.deb
│   ├── geoclue-hostip_0.12.0-1_amd64.deb
│   ├── geoclue-localnet_0.12.0-1_amd64.deb
│   ├── geoclue-manual_0.12.0-1_amd64.deb
│   ├── geoclue-yahoo_0.12.0-1_amd64.deb
│   ├── gnome-session-canberra_0.24-1_all.deb
│   ├── gstreamer0.10-nice_0.0.12-1_amd64.deb
│   ├── gstreamer0.10-plugins-bad_0.10.19-2+b2_amd64.deb
│   ├── libass4_0.9.9-1_amd64.deb
│   ├── libavahi-core7_0.6.27-2+squeeze1_amd64.deb
│   ├── libcdaudio1_0.99.12p2-9_amd64.deb
│   ├── libcelt0-0_0.7.1-1_amd64.deb
│   ├── libchamplain-0.4-0_0.4.6-2+b1_amd64.deb
│   ├── libchamplain-gtk-0.4-0_0.4.6-2+b1_amd64.deb
│   ├── libclutter-gtk-0.10-0_0.10.4-1_amd64.deb
│   ├── libcurl3-gnutls_7.21.0-1_amd64.deb
│   ├── libdaemon0_0.14-2_amd64.deb
│   ├── libdc1394-22_2.1.2-3_amd64.deb
│   ├── libdca0_0.0.5-3_amd64.deb
│   ├── libdirac-encoder0_1.0.2-3_amd64.deb
│   ├── libdirectfb-1.2-9_1.2.10.0-4_amd64.deb
│   ├── libdvdnav4_4.1.3-7_amd64.deb
│   ├── libdvdread4_4.1.3-10_amd64.deb
│   ├── libenca0_1.13-3_amd64.deb
│   ├── libfaad2_2.7-6_amd64.deb
│   ├── libfftw3-3_3.2.2-1_amd64.deb
│   ├── libflite1_1.4-release-2_amd64.deb
│   ├── libgeoclue0_0.12.0-1_amd64.deb
│   ├── libgme0_0.5.5-2_amd64.deb
│   ├── libgsm1_1.0.13-3_amd64.deb
│   ├── libgssdp-1.0-2_0.8.0-2_amd64.deb
│   ├── libgstfarsight0.10-0_0.0.20-2_amd64.deb
│   ├── libgupnp-1.0-3_0.14.0-2_amd64.deb
│   ├── libgupnp-igd-1.0-3_0.1.7-3_amd64.deb
│   ├── libiptcdata0_1.0.4-1+b1_amd64.deb
│   ├── libjack-jackd2-0_1.9.6~dfsg.1-2_amd64.deb
│   ├── libkate1_0.3.7-3_amd64.deb
│   ├── libmeanwhile1_1.0.2-3_amd64.deb
│   ├── libmimic0_1.0.4-2+b2_amd64.deb
│   ├── libmms0_0.6-1_amd64.deb
│   ├── libmodplug1_1%3a0.8.8.1-1_amd64.deb
│   ├── libmpcdec6_2%3a0.1~r459-1_amd64.deb
│   ├── libmusicbrainz4c2a_2.1.5-4_amd64.deb
│   ├── libnice0_0.0.12-1_amd64.deb
│   ├── libnm-glib2_0.8.1-6_amd64.deb
│   ├── libnm-util1_0.8.1-6_amd64.deb
│   ├── libnss-mdns_0.10-3.1_amd64.deb
│   ├── libofa0_0.9.3-3.1_amd64.deb
│   ├── liboil0.3_0.3.17-2_amd64.deb
│   ├── libperl5.10_5.10.1-17_amd64.deb
│   ├── libpurple0_2.7.3-1+squeeze1_amd64.deb
│   ├── libpurple-bin_2.7.3-1+squeeze1_all.deb
│   ├── libraptor1_1.4.21-2_amd64.deb
│   ├── librasqal2_0.9.20-1_amd64.deb
│   ├── librdf0_1.0.10-3_amd64.deb
│   ├── libsasl2-modules_2.1.23.dfsg1-7_amd64.deb
│   ├── libschroedinger-1.0-0_1.0.9-2_amd64.deb
│   ├── libsilc-1.1-2_1.1.10-2_amd64.deb
│   ├── libsilcclient-1.1-3_1.1.10-2_amd64.deb
│   ├── libslv2-9_0.6.6-5_amd64.deb
│   ├── libsndfile1_1.0.21-3_amd64.deb
│   ├── libsoundtouch1c2_1.3.1-2_amd64.deb
│   ├── libsysfs2_2.1.0+repack-1_amd64.deb
│   ├── libtelepathy-farsight0_0.0.14-2+b1_amd64.deb
│   ├── libtelepathy-glib0_0.11.11-1_amd64.deb
│   ├── libts-0.0-0_1.0-7_amd64.deb
│   ├── libvpx0_0.9.1-2_amd64.deb
│   ├── libwildmidi1_0.2.3.2-2_amd64.deb
│   ├── libzbar0_0.10+doc-4_amd64.deb
│   ├── libzephyr4_3.0-1_amd64.deb
│   ├── nautilus-sendto_2.28.4-2+b1_amd64.deb
│   ├── nautilus-sendto-empathy_2.30.3-1_amd64.deb
│   ├── pidgin-data_2.7.3-1+squeeze1_all.deb
│   ├── python-crypto_2.1.0-2_amd64.deb
│   ├── python-dbus_0.83.1-1_amd64.deb
│   ├── python-farsight_0.0.20-2_amd64.deb
│   ├── python-gst0.10_0.10.19-1_amd64.deb
│   ├── python-libproxy_0.3.1-2_all.deb
│   ├── python-openssl_0.10-1_amd64.deb
│   ├── python-papyon_0.4.10-1_all.deb
│   ├── python-telepathy_0.15.17-1_all.deb
│   ├── telepathy-butterfly_0.5.12-1_all.deb
│   ├── telepathy-gabble_0.9.15-1+squeeze1_amd64.deb
│   ├── telepathy-haze_0.4.0-1_amd64.deb
│   ├── telepathy-mission-control-5_1%3a5.4.3-1_amd64.deb
│   ├── telepathy-salut_0.3.12-1_amd64.deb
│   └── tsconf_1.0-7_all.deb
├── flashplugin-nonfree
│   └── flashplugin-nonfree_1%3a2.8.2_amd64.deb
├── gcalctool
│   └── gcalctool_5.30.2-2_amd64.deb
├── gconf-editor
│   ├── gconf-defaults-service_2.28.1-6_amd64.deb
│   └── gconf-editor_2.30.0-2_amd64.deb

entonces la mision de esta entrada es mover todos los archivos que estan en cada carpeta a una sola, sin tener que hecerlo manualmente, el comando es el siguiente ,
creo una carpeta que se llame regados, por decirlo de alguna manera 

$ mkdir  /media/2BE6-A889/regados


y finalmente el comando 

$ for b in `ls`; do cp $b/*.deb regados/ ; done

en donde hacemos uso de los ciclos repetitivos, el ciclo  for  le asignaremos a la variable b lo que me retorne el comando ls, osea la lista de todas las carpetas que les mostre en la primera imagen, y dentro de este hacemos la copia de todos los archivos .deb que estan en la carpeta que estemos manipulando en ese momento a regados. espero puedan aplicar en otra cosa este comando

1 comentario:

  1. uyy los poderes de linux jajajaja curioso el comandito

    ciao

    ResponderEliminar