Z terminalem: znajdź i skopiuj listę plików

Witam wszystkich czytelników 😀

Po nieudanych wakacjach raczę pisać te wersety. Okazuje się, że mój odtwarzacz mp3 32GB był uszkodzony i jedynym sposobem na jego odzyskanie jest sformatowanie go, to nie jest problem, to, co mnie zawstydziło, to zastanowienie się, ile czasu zajmie mi wybranie i skopiowanie kolekcji muzycznej, która Miałem tyle gustu.

W tym przypomniałem sobie, jak potężny może być terminal w tych przypadkach i po kilku minutach czytania dokumentacji (Nie jestem najlepszy w bash 😛) Dotarłem do tej metody:

1. Zrobiłem listę wszystkich plików w odtwarzaczu:

dir / media / musicplayer> music_list

2. Po wygenerowaniu tej listy stosujemy polecenie:

 kot lista_muzyczna | podczas czytania f; znajdź. -name "$ f" -exec cp {} / media / musicplayer \ ;; Gotowe

jak przeczytaj listę, a następnie odnaleźć jest odpowiedzialny za ich poszukiwanie i wreszcie cp kopiuje go do folderu docelowego cyklicznie, aż do odczytania ostatniej linii pliku.

i gotowe!

Sposób działania konsoli się porusza, prawda?

Jestem pewien, że może się przydać w bardziej produktywnych zajęciach (i mniej trywialnych niż mój gracz, hahaha) i oczywiście byłyby inne sposoby osiągnięcia tego samego celu (może używając rsync o xargs), ale wydawało mi się, że to najprostszy sposób na osiągnięcie tego.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   pełen życia powiedział

    O! Świetnie 😀

  2.   Wampi powiedział

    Ech…. »Dir» ???? Czy dobrze przeczytałeś i użyłeś polecenia „dir”? WTF !!! Polecenie to "ls" ... DIR to polecenie DOS, a nie * nix (lub GNU / Linux) ... Wiem, że jestem starym Slackerem, ale czy nie ma tam błędu?

    Co do reszty, świetnie! dobrym sposobem na lenistwo jest używanie konsoli

    1.    Eliotime3000 powiedział

      Jesteśmy tacy sami w tym punkcie DIR, ponieważ w POSIX LS jest używany jako jego zamiennik.

      Błądzić należy do ludzi.

    2.    pepe powiedział

      `człowiek reż`

      1.    pełen życia powiedział

        Dokładny. DIR istnieje również w naszych dystrybucjach 😛

    3.    pełen życia powiedział

      W rzeczywistości, kiedy biegam:

      man dir

      Zobacz, co dostaję na końcu:

      AUTOR Napisane przez Richarda M. Stallmana i Davida MacKenzie.
      1.    giskard powiedział

        Spójrz na siebie! Ale to niedawne, prawda? Ponieważ kilka lat temu, kiedy zacząłem używać Linuksa, pisałem dir zamiast ls z przyzwyczajenia i namalowałem jeden!

      2.    Eliotime3000 powiedział

        Wycofuję to, co omenté z DIR.

    4.    helena_ryu powiedział

      Sam to powiedziałem, jestem kompletnym n00b w bash xDDD przepraszam, jeśli cię obraziłem dir hahaha, naprawdę wiem, że to ls, ale w tym momencie przypomniałem sobie tylko, żeby powiedzieć ... to była tylko lista plików 😛

      1.    Eliotime3000 powiedział

        Nie martw się. W ten sam sposób bash się nie powtarza, więc jesteśmy pod ręką.

        1.    Eliotime3000 powiedział

          A tak przy okazji, proponuję wypróbować Iceweasel (jest w AUR, a logo jest ładniejsze niż w Firefoksie).

          🙂

          1.    helena_ryu powiedział

            Spróbuję ^^

          2.    pełen życia powiedział

            W końcu jest tak samo. Po co instalować Iceweasel, skoro mamy już Firefoksa w repozytoriach?

          3.    ciastko powiedział

            Eliot, to jest to samo co Firefox, ale z bardziej brzydkim logo ¬¬, a poza tym jest w AUR

          4.    Eliotime3000 powiedział

            @ciastko:
            Zależy to od tego, jak to widzisz, ponieważ do tej pory nie widziałem nowej wersji logo Iceweasel z "płaskim" projektem lub z opcją wysłania moich danych do Mozilli, aby sprawdzić, czy działa dobrze, czy nie.

            To w porządku, że logo Iceweasel nie przypadło Ci do gustu. Szanuję Twoją decyzję.

      2.    Sam burgos powiedział

        Nie martw się, że w zamian za złamanie głowy bashem nie chcesz już robić rzeczy w innych językach, ponieważ nie możesz znaleźć miejsca 😀 (mój konkretny przypadek), poza tym dobrze jest używać go do działania w kilku dystrybucjach

        Jeśli chodzi o twój skrypt, zadałem sobie trud, aby go trochę uporządkować i włożyć do wklejania, chociaż chciałbym poznać niektóre parametry do czego służą, ponieważ nie rozumiem ich zbyt wiele (zbadam, kiedy będę w domu, bo w pracy mam związane ręce i nogi)

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

        1.    helena_ryu powiedział

          Rzeczywiście, zostawiłeś to bardziej uporządkowane, zamierzałem to zrobić w ten sposób, ale…. z jakiegoś powodu pamiętam aranżacje (jak bardzo cierpię na lekcji programowania), więc lepiej zostawię to w jednej linijce hahaha

          1.    Sam burgos powiedział

            Cóż, warto zamówić kody, bo inaczej trudno je później zrozumieć (jako dokumentator / analityk / programista jest to wielki ból i mówię z własnego doświadczenia)

            I jeszcze coś z bashem, z przyjemnością proponuję pomoc, w tym też nie jestem mistrzem, ale języków, którymi lubię się posługiwać (i które mam najbardziej odkurzone: P), czyli jeden z nich, chociaż dla kogoś, kto podobno jest nowicjuszem w bash, zostawiłeś mnie myślącego, co robi sam kod 😉 😛

    5.    haobabatusai powiedział

      test uruchamiając reż

    6.    eknomus powiedział

      Nie ma pomyłki, możesz również użyć polecenia DIR w Linuksie, może być bardziej eleganckie użycie LS, ale aby uzyskać listę plików DIR, działa dobrze, ponieważ obecnie większość dystrybucji ma domyślny alias dir = 'ls -l.

  3.   Eliotime3000 powiedział

    Podobała mi się wskazówka. Mam nadzieję, że zostanie napisanych więcej samouczków o wielu zastosowaniach konsoli GNU / Linux, która naprawdę przewyższa konsolę Windows.

    1.    KZKG ^ Gaara powiedział
      1.    Eliotime3000 powiedział

        Udostępnianie i dodawanie do ulubionych.

  4.   D.Adrian powiedział

    Przepraszam za moją ignorancję, ale prawda jest taka, że ​​prawie nic nie zrozumiałem: pierwsza komenda, dir, tworzy listę plików, które są w folderze, a następnie, zgodnie z tym, co rozumiem, znalezisko przeszukuje jeden po drugim te pliki opisane na tej liście i skopiuj je do innego folderu. Pytam, po co ich szukać, skoro już wiem, że są w / media / musicplayer, a wystarczy skopiować ten folder do innego miejsca docelowego.
    To nie będzie tak, że w / media / musicplayer są różnego rodzaju pliki i chcę znaleźć, powiedzmy, tylko pliki mp3 i skopiować je na inną stronę?
    Gdyby ktoś mógł lepiej wyjaśnić, na czym polega problem i co chcę zrobić?
    Dziękuję i przepraszam.

    1.    helena_ryu powiedział

      Cóż, jak mówisz, jeśli łatwiej jest po prostu skopiować pliki na inną stronę, problem, jaki miałem, był taki, że pliki były nieczytelne, w Linuksie i Windows, więc musiałem je tylko sformatować 😛 i wypełnić ponownie. dał lenistwo z tego powodu.
      Jeśli chodzi o to, co mówisz o filtrowaniu, myślę, że powinieneś dodać flagi -o i -name do polecenia find, coś takiego:
      odnaleźć. \ (-name '* .jpg' -o -name '* .png' -o -name '* .JPG' -o -name '* .PNG' -o -name '* .JPEG' -o -name ' * .jpeg '\)
      w takim przypadku filtrowałby tylko pliki * .jpg, * .JPG, * .png, * .PNG, * .jpeg i * .JPEG

  5.   Heksborg powiedział

    Gratulacje. Użyłeś terminala zgodnie z jego przeznaczeniem.

  6.   dkoj powiedział

    Jak wyglądałoby nasze życie bez potężnej konsoli: 3 ... .

  7.   Przeszedł tutaj powiedział

    bardzo dobrze, mam
    alias nasłuchuj = 'echo "$ (znajdź $ (pwd) -iname" * .MP3 ″) "| xargs -n1 -I aa ln -s "aa" $ HOME / Listen / '

    1.    Dawid powiedział

      bardzo podobny do tego, którego używam, do przenoszenia plików, których transmisja się zakończyła
      [kod] find -iname "* .avi" | xargs -i mv {} / home / wizord / Videos /
      [/ Code]

  8.   Uriel powiedział

    Przepraszam za ignorancję, ale też nie do końca zrozumiałem kolejność i dlatego nie wiem, czy dotyczy ona tego, co chcę zrobić.
    Mam iPoda szóstej generacji 160 GB, który od kiedy chcę zrobić kopię zapasową, zanim będzie za późno, jednak nie wiem, czy za pomocą tego, co piszesz, potrafię oddzielić muzykę według list odtwarzania, ponieważ jest wiele utworów z To samo nazwisko, ale na różnych albumach lub artystach, czy mogę się wytłumaczyć? dlatego nie mogę po prostu skopiować plików .mp6 do jednego folderu, ponieważ powodowałoby to konflikt z utworami o tej samej nazwie. Czy mogę wykonać kopię zapasową za pomocą proponowanych poleceń, czy jest inna alternatywa?
    Mam nadzieję, że możesz mi pomóc, dziękuję !!

    ps: Myślałem o zainstalowaniu na nim Rockboksa, ale według strony programisty nie jest on kompatybilny z moim iPodem
    pd2: gtkpod najwyraźniej również kopiuje tylko .mp3 bez zamówienia, a może nie wiedziałem, jak to zrobić.

  9.   Truko22 powiedział

    Świetnie 😀

  10.   Eliotime3000 powiedział

    Cóż, każdy może swobodnie korzystać z przeglądarki, której chce.

    Używam Iceweasel na Debianie w gałęzi wydania mozilla.debian.net i nie jestem przeciwny tym, którzy używają tej przeglądarki.

    Zasugerowałem tylko, aby @helena wypróbowała Iceweasel, ponieważ Iceweasel identyfikuje go jako posiadające całkiem słodkie logo (którego wielu nie lubi), ale nie przejmuj się.

    W każdym razie używam Iceweasel na Debianie, ponieważ jestem leniwy, aby zainstalować Firefoksa, a mam już Firefoksa na Slackware i działa cuda.

    1.    pełen życia powiedział

      Jasny. Chodzi mi o to, że Firefox jest już spakowany w repozytorium. Iceweasel musiałby być instalowany przez AUR ze wszystkimi związanymi z tym ryzykiem.

      1.    Eliotime3000 powiedział

        Ach dobrze. Oczywiście wskazane byłoby zastąpienie Firefoksa Iceweaselem, ponieważ próbowałem mieć obie przeglądarki, ale obie nie mogą być uruchomione w tym samym czasie.

        Jak tylko zakończę eksperymentowanie ze Slackware, stworzę maszynę wirtualną, na której zainstaluję Archa z Iceweaselem i lekkim interfejsem (XFCE lub LXDE).

    2.    helena_ryu powiedział

      [poza tematem]
      hahaha nie ma problemu, wiem, że na koniec dnia to firefox z innym logo i to prawda, jest w aur, co może być nieco ryzykowne, fakt jest taki, że crunchbang jest zainstalowany na pececie mojej siostry (i dla ende iceweasel) i naprawdę, logo jest bardzo kawaii ^^ Nie rozumiem, jak komuś się to nie podoba ~ _ ~
      [/ poza tematem]

      1.    Eliotime3000 powiedział

        Cóż, podoba mi się logo Iceweasel. Przynajmniej cieszę się z dni, w których wywrócili mnie do góry nogami.

  11.   Eliotime3000 powiedział

    Przepraszam za nie na temat, ale komentowanie z Opera Mini jest naprawdę niezręczne.

    1.    Sieg84 powiedział

      nieco niewygodne, ale poprawione wraz ze zmianą komentarzy.

  12.   pepe powiedział

    dobra praca

  13.   Emmanuel powiedział

    Wskazówka jest więcej niż interesująca i przydatna, ale czy można to zrobić w taki sposób, aby działała za każdym razem, gdy jest włożony USB? 😮
    Byłoby wspaniale zsynchronizować niektóre foldery na USB z systemem.
    Pozdrowienia i wspaniały wkład.

  14.   Mauritius powiedział

    hahaha, i że jesteś noobem w bash.

    Jest to jeden z powodów, dla których zakochałem się w terminalu, ze względu na to, że niektóre rzeczy robię bardzo szybko.

    1.    Eliotime3000 powiedział

      I to jest prawda. Jest też znacznie lepszy niż konsola Windows.

  15.   Pepe Lopez powiedział

    Doskonała wskazówka. Zatrzymuję to.

  16.   beegoqui powiedział

    Dziękuję Ci ! … Wielkiej pomocy!

  17.   Rey powiedział

    Ktoś ma plik bash, który skopiowałem z linuxa pod następującym adresem /var/log/apt/history.log na adres w systemie Windows D: / Skopiuj plik history.log

  18.   Rey powiedział

    Ktoś ma plik bash, który kopiuję z linuxa z następującego adresu /var/log/apt/history.log na adres w systemie Windows D: / Skopiuj plik history.log wyślij go na mój e-mail rey79cm@gmail.com