Med Terminal: Find og kopier en liste over filer

Hej til alle læsere 😀

Efter en mislykket ferie har jeg lyst til at skrive disse linjer. Det viser sig, at min 3 GB mp32-afspiller blev beskadiget, og den eneste måde at gendanne den på er ved at formatere den. havde så meget smag havde lavet.

I det huskede jeg, hvor kraftig terminalen kan være i disse tilfælde og efter et par minutters læsning af dokumentation (Jeg er ikke den bedste til at bash 😛) Jeg kom til denne metode:

1. Jeg lavede en liste med alle filerne i afspilleren:

dir / media / musicplayer> music_list

2. Efter at have genereret denne liste anvender vi følgende kommando:

 kat musik_liste | mens du læser f; finder. -navn "$ f" -exec cp {} / media / musicplayer \ ;; Færdig

hvordan læs listen, derefter, find har ansvaret for at lede efter dem og endelig cp kopierer det til destinationsmappen i en cyklus, indtil den sidste linje i filen læses.

og voila!

Den måde, konsollen fungerer på, bevæger sig, ikke?

Jeg er sikker på, at det kan være nyttigt i mere produktive aktiviteter (og mindre trivielle end min spiller hahaha), og selvfølgelig ville der være andre måder at nå det samme mål (måske ved at bruge rsync o xargs) men det syntes mig, at dette var den enkleste måde at opnå det på.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Elav sagde han

    Åh! Fantastisk 😀

  2.   Vampier sagde han

    Ehhh…. »Dir» ???? Læste du korrekt, og brugte du kommandoen "dir"? WTF !!! Kommandoen er "ls" ... DIR er en DOS-kommando og ikke * nix (eller GNU / Linux) ... Jeg ved, at jeg er en gammel Slacker, men er der ikke en fejl der?

    For resten fremragende! en god måde at være doven på er ved at bruge konsollen

    1.    eliotime3000 sagde han

      Vi er de samme på det tidspunkt af DIR, da i POSIX bruges LS som erstatning.

      At fejle er af mennesker.

    2.    pepe sagde han

      `mand dir`

      1.    Elav sagde han

        Præcis. DIR findes også i vores distributioner 😛

    3.    Elav sagde han

      Faktisk når jeg løber:

      man dir

      Se hvad jeg får til sidst:

      FORFATTER Skrevet af Richard M. Stallman og David MacKenzie.
      1.    giskard sagde han

        Se på dig! Men det er for nylig, er det ikke? Fordi for et par år siden, da jeg begyndte at bruge Linux, plejede jeg at skrive dir i stedet for ls af vane, og jeg malede en!

      2.    eliotime3000 sagde han

        Jeg trækker det, jeg omenté, tilbage fra DIR.

    4.    helena_ryuu sagde han

      Jeg sagde det selv, jeg er en komplet n00b i bash xDDD undskyld, hvis jeg fornærmede dig med dir hahaha, virkelig, jeg ved, det var ls, men i det øjeblik huskede jeg kun at sige ... det var bare en liste over filer 😛

      1.    eliotime3000 sagde han

        Vær ikke urolig. På samme måde er jeg ikke så tilbagevendende til bash, så vi er ved hånden.

        1.    eliotime3000 sagde han

          Og forresten foreslår jeg, at du prøver Iceweasel (det er i AUR, og logoet er pænere end Firefox).

          🙂

          1.    helena_ryuu sagde han

            Jeg prøver det ^^

          2.    Elav sagde han

            I sidste ende er det det samme. Hvorfor installere Iceweasel, når vi allerede har Firefox i arkiverne?

          3.    cookie sagde han

            Eliot, det er det samme som Firefox, men med et mere grimt logo ¬¬ og derefter er det adskilt i AUR

          4.    eliotime3000 sagde han

            @kage:
            Det afhænger af, hvordan man ser på det, for indtil videre har jeg ikke set en ny version af Iceweasel-logoet med et "fladt" design eller med mulighed for at sende mine data til Mozilla for at se, om det fungerer godt eller ej.

            At Iceweasel-logoet ikke passer dig, er fint, jeg respekterer din beslutning.

      2.    Sam burgos sagde han

        Bare rolig, at du til gengæld for at bryde hovedet med bash ikke længere vil gøre ting på andre sprog, da du ikke kan finde hvor where (min særlige sag), bortset fra at det er godt at bruge det til at operere i flere distros

        Hvad dit script angår, gik jeg besværet med at rydde det lidt op og lægge det i en pastebin, selvom jeg gerne vil vide nogle parametre, hvad de er til, fordi jeg ikke forstår dem meget (jeg undersøger, når jeg m derhjemme, da jeg i mit arbejde er bundet med hænder og fødder)

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

        1.    helena_ryuu sagde han

          Faktisk har du efterladt det mere pænt, jeg ville gøre det sådan, men ... af en eller anden grund husker jeg arrangementerne (hvor meget de får mig til at lide i programmeringsklassen), så jeg må hellere lade det stå i en linje hahaha

          1.    Sam burgos sagde han

            Nå, det er nyttigt at bestille koderne, fordi det ellers er vanskeligt at forstå dem senere (som dokumentator / analytiker / programmør, der er meget smertefuldt, og jeg fortæller dig det fra min egen erfaring)

            Og noget andet med bash tilbyder jeg at hjælpe med glæde, jeg er heller ikke en mester i det, men af ​​de sprog, jeg kan lide at bruge (og som jeg har mest støvet: P), der er et af dem, skønt du for en person, der angiveligt er en novice i bash, lod mig tænke på, hvad selve koden gør does 😛

    5.    haobaobatusai sagde han

      test ved at køre dir

    6.    øknomus sagde han

      Ingen fejl, du kan også bruge DIR-kommandoen i Linux, det kunne være mere elegant at bruge LS, men for at få en liste over DIR-filer fungerer det fint, fordi de fleste distributioner i øjeblikket har standardaliaset dir = 'ls -l som standard.

  3.   eliotime3000 sagde han

    Jeg kunne godt lide tipet. Jeg håber, at der vil blive skrevet flere tutorials om de mange anvendelser af GNU / Linux-konsollen, som virkelig overgår Windows.

    1.    KZKG ^ Gaara sagde han
      1.    eliotime3000 sagde han

        Deling og tilføjelse til favoritter.

  4.   D.Adrian sagde han

    Undskyld min uvidenhed, men sandheden er, at jeg ikke forstod næsten noget: den første kommando, dir, opretter en liste over de filer, der er inde i en mappe, så søger findet efter det, jeg forstår, en efter en de filer, der er beskrevet i listen, og kopiere dem til en anden mappe. Jeg spørger, hvorfor skal du lede efter dem, hvis jeg allerede ved, at de er i / media / musicplayer, og det er kun nok at kopiere den mappe til en anden destination.
    Det vil ikke være, at der i / media / musicplayer er alle slags filer, og jeg vil finde, lad os sige kun mp3'erne og kopiere dem til en anden side?, Og ville der være et filter i den første kommando, så den kun viser mp3'erne?
    Hvis nogen bedre kunne forklare, hvad problemet er, og hvad jeg vil gøre?
    Tak og undskyld mig.

    1.    helena_ryuu sagde han

      Nå som du siger, hvis det er lettere at bare kopiere filerne til en anden side, er det problem, jeg havde, at filerne var ulæselige, i linux og i windows, så jeg måtte kun formatere det 😛 og udfylde det igen I gav dovenskab af den grund.
      Hvad det du siger om filtrering, synes jeg, du skal tilføje -o og -name-flag til find-kommandoen, noget som dette:
      Find. \ (-navn '* .jpg' -o-navn '* .png' -o-navn '* .JPG' -o-navn '* .PNG' -o-navn '* .JPEG' -o-navn ' * .jpeg '\)
      i så fald vil det kun filtrere * .jpg-, * .JPG-, * .png-, * .PNG-, * .jpeg- og * .JPEG-filer

  5.   hexborg sagde han

    Tillykke. Du har brugt terminalen, da den virkelig er beregnet til at blive brugt.

  6.   dcoy sagde han

    Hvad ville vores liv være uden den kraftfulde konsol: 3 ... .

  7.   Han gik igennem her sagde han

    meget godt, det har jeg
    alias listen = 'echo "$ (find $ (pwd) -iname" * .MP3 ″) "| xargs -n1 -I aa ln -s "aa" $ HOME / lyt / '

    1.    davidlg sagde han

      meget lig den, jeg bruger, til at flytte de filer, som transmissionen er færdig
      [kode] find -iname "* .avi" | xargs -i mv {} / hjem / wizord / Videoer /
      [/kode]

  8.   Uriel sagde han

    Undskyld uvidenheden, men jeg forstod heller ikke ordren fuldt ud, og jeg ved derfor ikke, om den gælder eller ej, hvad jeg vil gøre.
    Jeg har en 160gb iPod fra 6. generation, som siden da jeg vil lave en sikkerhedskopi, før det er for sent, men jeg ved ikke, om jeg med det, du skriver, kan adskille musikken i henhold til afspilningslisterne, da der er mange sange med den Samme navn, men på forskellige albums eller kunstnere, kan jeg forklare mig selv? derfor kan jeg ikke bare kopiere .mp3-filerne til en enkelt mappe, fordi det ville være i konflikt med sange med samme navn. Kan jeg lave min sikkerhedskopi med de kommandoer, du foreslår, eller er der noget andet alternativ?
    Jeg håber du kan hjælpe mig, tak !!

    ps: Jeg tænkte at installere Rockbox på det, men det er ikke kompatibelt med min ipod ifølge udviklersiden
    pd2: gtkpod kopierer tilsyneladende kun .mp3 uden ordre, eller måske vidste jeg ikke, hvordan man gjorde det.

  9.   truko22 sagde han

    Det er godt 😀

  10.   eliotime3000 sagde han

    Nå, alle har fri til at bruge den browser, man ønsker.

    Jeg bruger Iceweasel på Debian med frigivelsesgrenen af ​​mozilla.debian.net, og jeg er ikke imod dem, der bruger den browser.

    Jeg foreslog kun, at @helena prøv Iceweasel, fordi Iceweasel identificerer det som at have et smukt sødt logo (som mange ikke kan lide), men vær ikke bange.

    Under alle omstændigheder bruger jeg Iceweasel i Debian, fordi jeg er doven med at installere Firefox, og jeg har allerede Firefox i Slackware, og det fungerer godt.

    1.    Elav sagde han

      Jo da. Hvad jeg mener er, at Firefox allerede er pakket i arkivet. Iceweasel skal installeres fra AUR med alle de risici, dette medfører.

      1.    eliotime3000 sagde han

        Ah godt. Selvfølgelig ville det være tilrådeligt at erstatte Firefox med Iceweasel, da jeg har prøvet at have begge browsere, men begge kan ikke køres på samme tid.

        Så snart jeg er færdig med at eksperimentere med Slackware, opretter jeg en virtuel maskine, hvor jeg installerer Arch med Iceweasel og en letvægtsgrænseflade (XFCE eller LXDE).

    2.    helena_ryuu sagde han

      [udenfor emne]
      hahaha ikke noget problem, jeg ved, at det i slutningen af ​​dagen er firefox med et andet logo, og det er sandt, det er i en aur, hvilket kan være noget risikabelt, faktum er, at crunchbang er installeret på min søsters pc (og for ende iceweasel) og virkelig at logoet er meget kawaii ^^ Jeg forstår ikke hvorfor nogen ikke kan lide det ~ _ ~
      [/ udenfor emne]

      1.    eliotime3000 sagde han

        Nå, jeg kan godt lide Iceweasel-logoet. I det mindste er jeg lykkelig i de dage, hvor de har vendt mig på hovedet.

  11.   eliotime3000 sagde han

    Undskyld for off-topic, men at kommentere fra Opera Mini er virkelig akavet.

    1.    sieg84 sagde han

      noget ubehageligt, men det forbedredes med ændringen i kommentarerne.

  12.   pepe sagde han

    buen trabajo

  13.   Emmanuel sagde han

    Tipet er mere end interessant og nyttigt, men kunne det gøres på en sådan måde, at det kører hver gang en USB indsættes? 😮
    Det ville være dejligt at synkronisere bestemte mapper på USB med systemet.
    Hilsner og fremragende bidrag.

  14.   Mauritius sagde han

    hahaha, og at du er noob i bash.

    Det er en af ​​grundene til, at jeg blev forelsket i terminalen på grund af den måde, jeg gør nogle ting derude meget hurtigt.

    1.    eliotime3000 sagde han

      Og det er sandt. Det er også meget bedre end Windows-konsollen.

  15.   Pepe Lopez sagde han

    Fremragende tip. Jeg holder det.

  16.   beegoqui sagde han

    Tak skal du have ! ... af stor hjælp!

  17.   Rey sagde han

    Nogen har en bash-fil, som jeg kopierer fra linux følgende adresse /var/log/apt/history.log til adressen på windows D: / Kopier filhistorikken.log

  18.   Rey sagde han

    Nogen har en bash-fil, som jeg kopierer fra Linux følgende adresse /var/log/apt/history.log til adressen i windows D: / Kopier filhistorikken. Log, send den til min e-mail rey79cm@gmail.com