Amb la Terminal: Buscar i copiar una llista de fitxers

Hola a tots els lectors 😀

Després d'unes fallides vacances, em digne a escriure aquestes línies. Resulta que es va fer mal el meu reproductor de mp3 de 32gb i l'única manera de recuperar-lo és donant-li format, això no és problema, el que en realitat em mortificava era pensar en el temps que el meu anava a portar el seleccionar i copiar la col·lecció musical que amb tant de gust havia confeccionat.

En això vaig recordar el poderosa que pot ser la terminal per a aquests casos i després d'uns minuts de llegir documentació (no sóc la millor en bash 😛) vaig arribar a aquest mètode:

1. Vaig fer una llista amb tots els fitxers de l'reproductor:

dir / mitjana / musicplayer> lista_de_musica

2. Després de generar aquesta llista, apliquem la següent comanda:

 cat lista_de_musica | while read f; do find. -name "$ f" -exec cp {} / mitjana / musicplayer \ ;; done

gat llegeix la llista, tot seguit, trobar s'encarrega de buscar-los i finalment cp el copia a la carpeta destí, en un cicle fins que l'última línia de l'arxiu és llegida.

i llest!

És commovedora la manera en què treballa la consola veritat?

Estic segura que pot ser d'utilitat en activitats més productives (i menys trivials que el meu reproductor jajaja), i per descomptat que haurien altres maneres d'arribar a el mateix objectiu (potser fent servir rsync o xargs) Però em va semblar que aquesta era la manera més simple de aconseguir-ho.


46 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   ILAV va dir

    Oh! genial 😀

  2.   Vampii va dir

    Ehhh .... ¿ »Dir» ???? ¿Lei bé i van usar en ordre «dir»? WTF !!! La comanda és «ls» ... DIR és una ordre de DOS i no de * nix (o GNU / Linux) ... Es que sóc un vell Slacker però, no hi ha un error ahi?

    Pel demas, fantàstic! una bona forma de ser mandrós, és usant la consola 😉

    1.    eliotime3000 va dir

      Estem iguals n aquest punt de DIR, ja que en POSIX s'usa LS com el seu reemplaçament.

      Errar és d'humans.

    2.    Pepe va dir

      `Man dir`

      1.    ILAV va dir

        Exacte. DIR també existeix en les nostres distribucions 😛

    3.    ILAV va dir

      De fet, quan va executar:

      man dir

      Mira el que em surt a la fin:

      AUTHOR Escrit per Richard M. Stallman and David MacKenzie.
      1.    Giskard va dir

        Mira tu! Però això és recent, no? Perquè jo fa uns anys, quan vaig començar a fer servir Linux escrivia dir en lloc de ls per costum i em pintava una!

      2.    eliotime3000 va dir

        Retiro el ue Omente de DIR.

    4.    helena_ryuu va dir

      jo mateixa ho vaig dir, sóc una completa n00b en bash xDDD disculpi si us vaig ofendre amb dir jajaja, ja enserio, ja que estava ls, però en aquell moment només vaig recordar de dir ... era res més una llista de fitxers 😛

      1.    eliotime3000 va dir

        No et preocupis. De la mateixa manera, no sóc tan recurrent a l'bash, així que estem a mà.

        1.    eliotime3000 va dir

          I per cert, et suggereixo que provis Iceweasel (està en AUR i el logo és més bonic que el de Firefox).

          🙂

          1.    helena_ryuu va dir

            li donaré una oportunitat ^^

          2.    ILAV va dir

            A el final és el mateix. ¿Perquè instal·lar Iceweasel quan ja tenim Firefox en els repositoris?

          3.    galeta va dir

            Eliot, és el mateix que Firefox però amb logo més lleig ¬¬ i després a part està en el AUR

          4.    eliotime3000 va dir

            @cookie:
            Depèn de com ho vegis, perquè fins ara no m'ha tocat veure una nova versió de l'logotip de Iceweasel amb un disseny «pla» ni tampoc amb una opció per enviar les meves dades a Mozilla per veure si funciona bé o no.

            Que el logo de Iceweasel no sigui del teu gust està bé, respecto la teva decisió.

      2.    Sam Burgos va dir

        No et preocupis que a canvi de trencar-se el cap amb bash un ja no desitja fer les coses en altres llenguatges ja que no troba per on 😀 (el meu cas particular), a part que és bo fer-lo servir per a desenvolupar-se en diverses distros

        Pel que fa a la teva script, em vaig prendre la molèstia d'ordenar una mica i de posar-ho en un pastebin, tot i que voldria saber alguns paràmetres perquè serveixen perquè no els entenc molt (investigaré quan estigui a casa meva ja que en el meu treball estic lligat de mans i peus)

        Script -> http://pastebin.com/3c1zwS5y

        1.    helena_ryuu va dir

          efectivament, ho has deixat més ordenat, ho havia de fer així, però .... per alguna raó recordo els arranjaments (que tant em fan patir a la classe de programació) llavors millor ho vaig deixar en una sola línia jajaja

          1.    Sam Burgos va dir

            Doncs és d'ajuda ordenar els codis perquè sinó costa entendre'ls després (com documentador / a analista / programador és un gran mal això i t'ho dic per experiència pròpia)

            I alguna altra cosa amb bash m'ofereixo a ajudar amb gust, tampoc sóc màster en això però dels llenguatges que gust fer servir (i que tinc mes espolsats: P) aquest és un d'ells, encara que per algú que, suposadament, és novice en bash m'has deixat pensant que fa el codi en si 😉 😛

    5.    haobaobatusai va dir

      prova executant dir

    6.    ecnomus va dir

      No hi ha error, també es pot utilitzar la comanda DIR a Linux podria ser més elegant utilitzar LS però per treure una llista de fitxers DIR va bé doncs actualment la majoria de distribucions porten per defecte l'àlies dir = 'ls -l de fabrica.

  3.   eliotime3000 va dir

    Em va agradar el tip. Espero que es redactin més tutorials sobre els múltiples usos de la consola de GNU / Linux, que en veritat el supera a la de Windows.

    1.    KZKG ^ Gaara va dir

      Revisa per aquí 😉 - » https://blog.desdelinux.net/tag/terminal/

      1.    eliotime3000 va dir

        Compartint i afegit a favorits.

  4.   D.Adrian va dir

    Disculpin la meva ignorància, però la veritat que no entendi gairebé res: la primera ordre, el dir, fa una llista dels fitxers que estan dins d'una carpeta, després, segons que entenc, el find va buscant XNUMX-XNUMX aquests fitxers descrits en aquesta llista i els còpia cap a una altra carpeta. Jo pregunto, perquè cal buscar-los si ja se que estan en / mitjana / musicplayer, i només vasta amb copiar aquesta carpeta a una altra destinació.
    No serà que en / mitjana / musicplayer hi ha tot tipus d'arxius i jo vull trobar diguem només els mp3 i copiar-los a un altre costat ?, i faltaria a la primera ordre algun filtre perquè em llisti només els mp3 ?.
    Si algú pogués explicar millor quin és el problema i que vull fer?
    Gràcies i disculpin.

    1.    helena_ryuu va dir

      bo com dius, si que és mes facil només copiar els fitxers a un altre costat, el problema que vaig tenir, és que els fitxers eren il·legibles, en linux, i en windows, així que només em quedava formatar 😛, i tornar a omplir-em feia mandra, per aquesta raó.
      pel que fa al que dius sobre filtrat, crec que has de afegir el flag -oy -name a la comanda find, una cosa així:
      find. \ (-Name '* .jpg' -o -name '* .png' -o -name '* .JPG' -o -name '* .PNG' -o -name '* JPEG' -o -name ' * .jpeg '\)
      en aquest cas filtraria només els arxius * .jpg, * .JPG, * .png, * .PNG, * .jpeg i * JPEG

  5.   hexborg va dir

    Enhorabona. Has fet servir la terminal com de veritat està pensada per usar-se.

  6.   Dcoy va dir

    Què seria de les nostres vides sense la poderosa consola: 3 ... .

  7.   passava per aqui va dir

    molt bo, jo tinc
    àlies escoltar = 'echo "$ (find $ (pwd) -iname« * .MP3 ")» | xargs -n1 -I aa ln -s «aa» $ HOME / escoltar / '

    1.    davidlg va dir

      molt semblant al que jo faig servir, per moure els arxius que ha acabat el transmissió
      [Code] find -iname «* .avi» | xargs -i mv {} / home / wizord / Vídeos /
      [/ codi]

  8.   Uriel va dir

    Disculpin la ignorància, però jo tampoc vaig entendre de el tot l'ordre i per tant no sé si apliqui o no al que vull fer.
    Tinc un iPod de 160 gb 6a generació, que des de quan vull fer un suport abans que sigui massa tard, però no sé si amb el que escriguis pugui separar la música d'acord a les llistes de reproducció, ja que hi ha moltes cançons amb el mateix nom però en diferents discos o artistes m'explico? per això no puc només copiar els .mp3 a una sola carpeta perquè hauria conflictes amb les cançons amb el mateix nom. ¿Puc fer la meva respatller amb les comandes que proposes o hi ha alguna altra alternativa?
    Tant de bo em puguin ajudar, gràcies !!

    pd: vaig pensar instal·lar-li Rockbox, però no és compatible amb la meva ipod segons la pàgina de l'desenvolupador
    PD2: gtkpod a l'sembla també còpia únicament els .mp3 sense ordre, o potser no vaig saber com fer-ho.

  9.   truko22 va dir

    Aquesta genial 😀

  10.   eliotime3000 va dir

    Doncs cadascú és lliure de fer servir el navegador que un vulgui.

    Jo camino usant Iceweasel en Debian amb la branca release de mozilla.debian.net, i no estic en contra dels que usin aquest navegador.

    Jo només li vaig suggerir que provés Iceweasel a @helena perquè Iceweasel l'hi identifica per tenir un logo força tendre (cosa que a molts no els cau bé), però no cal alarmar-se.

    Igual, camino usant Iceweasel en Debian perquè em dóna fluixesa d'instal·lar Firefox i ja tinc Firefox en Slackware i em va de meravelles.

    1.    ILAV va dir

      És clar. Al que em refereixo és que Firefox ja ve empaquetat en el repositori. Iceweasel s'hauria d'instal·lar des AUR amb tots els riscos que això comporta.

      1.    eliotime3000 va dir

        Ah, bé. Això sí, el que recomanable seria reemplaçar Firefox per Iceweasel, ja que he provat tenint ambdós navegadors, però no es poden executar tots dos alhora.

        Ni bé acabi d'experimentar amb Slackware, faré una màquina virtual en què Instal·laré Arch amb Iceweasel i una interfície lleugera (XFCE o LXDE).

    2.    helena_ryuu va dir

      [Off-topic]
      jajaja no hi ha problema, jo es que a la fi de comptes, és firefox amb un altre logo, i és veritat, està en aur, el que pot ser alguna cosa arriscat, el cas és que a la PC de la meva germana està instal·lat CrunchBang (i per tant iceweasel) i de veritat que el logo és molt kawaii ^^ no entenc com és que a algú no li pot agradar ~ _ ~
      [/ Off-topic]

      1.    eliotime3000 va dir

        Doncs, a mi em simpatitza el logo de Iceweasel. A menys m'alegra en els dies en els quals m'han anat cap per avall.

  11.   eliotime3000 va dir

    Perdonin per l'off-topic, però comentar des d'Opera Mini és realment incòmode.

    1.    sieg84 va dir

      alguna cosa incòmode, però va millorar amb el canvi que hi va haver en els comentaris.

  12.   Pepe va dir

    buen trabajo

  13.   Emmanuel va dir

    El tip està més que interessant i útil, però, ¿es podia fer de forma tal que s'executi cada vegada que es ingressa un usb? 😮
    És que seria genial sincronitzar certes carpetes de la USB amb el sistema.
    Salutacions i excel·lent aportació.

  14.   Maurici va dir

    jajaja, i això que ets noob en bash.

    És una de les razobes de l'perquè m'enamori de la terminal, per la forma de fer algunes coses per aquí de manera molt ràpida.

    1.    eliotime3000 va dir

      I això és cert. A més, és molt millor que la consola de Windows.

  15.   Pepe López va dir

    Excel·lent tip. M'ho guardo.

  16.   abejagoqui va dir

    Gràcies! ... De gran Ajuda!

  17.   Rei va dir

    Algú té un fitxer bash que em copiï de linux la següent adreça /var/log/apt/history.log a la direcció en windows D: / Copialog el fitxer history.log

  18.   Rei va dir

    Algú té un fitxer bash que em copiï de linux la següent adreça /var/log/apt/history.log a la direcció en windows D: / Copialog el fitxer history.log si us plau enviemelo al meu email rey79cm@gmail.com