С помощью терминала: найдите и скопируйте список файлов

Привет всем читателям 😀

После неудачного отпуска я соизволил написать эти строки. Оказалось, что мой mp3-плеер 32 ГБ был поврежден, и единственный способ восстановить его - отформатировать его, это не проблема, меня действительно огорчила мысль о времени, которое потребуется мне, чтобы выбрать и скопировать музыкальную коллекцию, которую я так много вкуса сделали.

При этом я вспомнил, насколько мощным может быть терминал для таких случаев, и после нескольких минут чтения документации (Я не лучший в игре 😛) Добрался до такого способа:

1. Я составил список всех файлов в плеере:

каталог / медиа / musicplayer> музыкальный_лист

2. После создания этого списка мы применяем следующую команду:

 кот music_list | пока читал f; действительно найти. -name "$ f" -exec cp {} / media / musicplayer \ ;; сделанный

кошка прочтите список, затем, найдите отвечает за их поиск и, наконец, cp копирует его в папку назначения в цикле, пока не будет прочитана последняя строка файла.

и готово!

Путь работы консоли меняется, верно?

Я уверен, что это может быть полезно в более продуктивных занятиях (и менее тривиальных, чем мой игрок, хахаха), и, конечно, были бы другие способы достичь той же цели (возможно, используя Rsync o xargs), но мне показалось, что это был самый простой способ добиться этого.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Elav сказал

    Ой! Отлично

  2.   Вампи сказал

    Эээ…. »Dir» ???? Вы правильно прочитали и использовали ли вы команду "dir"? WTF !!! Это команда "ls" ... DIR - это команда DOS, а не * nix (или GNU / Linux) ... Я знаю, что я старый Slacker, но нет ли там ошибки?

    В остальном отлично! хороший способ быть ленивым - использовать консоль

    1.    элиотайм3000 сказал

      Мы такие же в этой точке DIR, поскольку в POSIX LS используется как его замена.

      Человеку свойственно ошибаться.

    2.    перец сказал

      `мужской директор`

      1.    Elav сказал

        Точно. DIR тоже есть в наших дистрибутивах 😛

    3.    Elav сказал

      Фактически, когда я бегу:

      man dir

      Посмотри, что я получаю в конце:

      АВТОР Написано Ричардом М. Столлманом и Дэвидом Маккензи.
      1.    Жискар сказал

        Посмотри на себя! Но это недавно, не так ли? Потому что несколько лет назад, когда я начал использовать Linux, я по привычке писал dir вместо ls и нарисовал один!

      2.    элиотайм3000 сказал

        Я снимаю то, что я omenté из DIR.

    4.    Елена_рюу сказал

      Я сам сказал, что я полный n00b в bash xDDD, извините, если я обидел вас dir hahaha, правда, я знаю, что это ls, но в тот момент я только вспомнил, что сказал ... это был просто список файлов

      1.    элиотайм3000 сказал

        Не волнуйтесь. Точно так же я не слишком часто использую bash, так что мы под рукой.

        1.    элиотайм3000 сказал

          И, кстати, я предлагаю вам попробовать Iceweasel (он в AUR, а логотип красивее, чем у Firefox).

          ????

          1.    Елена_рюу сказал

            Я попробую ^^

          2.    Elav сказал

            В конце концов, это то же самое. Зачем устанавливать Iceweasel, если у нас уже есть Firefox в репозиториях?

          3.    печенье сказал

            Элиот, он такой же, как Firefox, но с более уродливым логотипом ¬¬, а затем отдельно находится в AUR

          4.    элиотайм3000 сказал

            @куки:
            Это зависит от того, как вы это видите, потому что до сих пор я не видел новой версии логотипа Iceweasel с «плоским» дизайном или с возможностью отправки моих данных в Mozilla, чтобы узнать, работает он хорошо или нет.

            То, что логотип Iceweasel вам не нравится, это нормально, я уважаю ваше решение.

      2.    Сэм Бургос сказал

        Не беспокойтесь, что в обмен на то, что вы сломаете себе голову с помощью bash, вы больше не захотите делать что-то на других языках, так как вы не можете найти где 😀 (мой частный случай), кроме того, его хорошо использовать для работы в нескольких дистрибутивы

        Что касается вашего скрипта, я потрудился немного привести его в порядок и поместил в pastebin, хотя я хотел бы знать некоторые параметры того, для чего они нужны, потому что я их не очень понимаю (я исследую, когда я дома, так как на работе я связан по рукам и ногам)

        Скрипт -> http://pastebin.com/3c1zwS5y

        1.    Елена_рюу сказал

          Действительно, вы оставили его более аккуратным, я собирался сделать это так, но…. почему-то я помню аранжировки (насколько они заставляют меня страдать на уроках программирования), поэтому лучше оставить это в одной строке, хахаха

          1.    Сэм Бургос сказал

            Что ж, полезно заказывать коды, потому что в противном случае их будет сложно понять позже (как документалист / аналитик / программист, это большая боль, и я говорю вам из своего собственного опыта)

            И еще кое-что с bash, с удовольствием предлагаю помочь, я тоже не мастер в этом, но среди языков, которые мне нравится использовать (и которые у меня самые запыленные: P), это один из них, хотя для того, кто якобы является новичком в bash, вы оставили меня думать, что делает сам код itself 😛

    5.    Хаобаобатусаи сказал

      тест, запустив dir

    6.    экномус сказал

      Нет ошибки, вы также можете использовать команду DIR в Linux, было бы более элегантно использовать LS, но для получения списка файлов DIR он работает нормально, потому что в настоящее время большинство дистрибутивов имеют по умолчанию псевдоним dir = 'ls -l по умолчанию.

  3.   элиотайм3000 сказал

    Совет понравился. Я надеюсь, что будет написано больше руководств о многих вариантах использования консоли GNU / Linux, которая действительно превосходит консоль Windows.

    1.    КЗКГ ^ Гаара сказал

      Отметьте здесь 😉 - » https://blog.desdelinux.net/tag/terminal/

      1.    элиотайм3000 сказал

        Публикация и добавление в избранное.

  4.   Д. Адриан сказал

    Простите за незнание, но правда в том, что я почти ничего не понял: первая команда, dir, составляет список файлов, которые находятся внутри папки, затем, насколько я понимаю, находка будет искать один за другим те файлы, которые описаны в этом списке, и скопируйте их в другую папку. Я спрашиваю, зачем вам их искать, если я уже знаю, что они находятся в / media / musicplayer, и достаточно только скопировать эту папку в другое место назначения.
    Не будет ли в / media / musicplayer всевозможных файлов, а я хочу найти, скажем, только mp3 и скопировать их на другую сторону? И будет ли в первой команде фильтр, чтобы он только перечислял mp3?
    Если бы кто-нибудь мог лучше объяснить, в чем проблема и что я хочу делать?
    Спасибо и извините.

    1.    Елена_рюу сказал

      Ну, как вы говорите, если проще просто скопировать файлы на другую сторону, проблема, с которой я столкнулся, заключалась в том, что файлы были нечитаемыми в Linux и в Windows, поэтому мне нужно было только отформатировать их 😛 и снова заполнить. дал лень по этой причине.
      Что касается того, что вы говорите о фильтрации, я думаю, вам следует добавить флаг -o и -name к команде find, примерно так:
      находить. \ (-name '* .jpg' -o -name '* .png' -o -name '* .JPG' -o -name '* .PNG' -o -name '* .JPEG' -o -name ' * .jpeg '\)
      в этом случае он будет фильтровать только файлы * .jpg, * .JPG, * .png, * .PNG, * .jpeg и * .JPEG.

  5.   гексборг сказал

    Поздравляю. Вы использовали терминал, поскольку он действительно предназначен для использования.

  6.   Dcoy сказал

    Какой была бы наша жизнь без мощной консоли: 3 ... .

  7.   Он прошел здесь сказал

    очень хорошо у меня есть
    псевдоним listen = 'echo "$ (find $ (pwd) -iname" * .MP3 ″) "| xargs -n1 -I aa ln -s "aa" $ HOME / listen / '

    1.    Дэвидлг сказал

      очень похож на тот, который я использую, чтобы переместить файлы, передача которых завершилась
      [код] find -iname "* .avi" | xargs -i mv {} / home / wizord / Videos /
      [/ Код]

  8.   Уриэль сказал

    Извините за незнание, но я тоже не совсем понял порядок и поэтому не знаю, применимо он или нет к тому, что я хочу сделать.
    У меня есть iPod 160-го поколения 6 ГБ, который, когда я хочу сделать резервную копию, пока не стало слишком поздно, однако я не знаю, могу ли я с помощью того, что вы пишете, разделить музыку по плейлистам, поскольку есть много песен с Это одно и то же имя, но на разных альбомах или исполнителях, могу я объяснить? вот почему я не могу просто скопировать файлы .mp3 в одну папку, потому что это будет конфликтовать с песнями с тем же именем. Могу ли я сделать резервную копию с помощью предложенных вами команд или есть еще какая-то альтернатива?
    Надеюсь, ты сможешь мне помочь, спасибо !!

    ps: Я думал установить на него Rockbox, но он несовместим с моим ipod согласно странице разработчика
    pd2: gtkpod, по-видимому, также копирует только .mp3 без заказа, или, может быть, я не знал, как это сделать.

  9.   Truko22 сказал

    Это здорово 😀

  10.   элиотайм3000 сказал

    Что ж, каждый может использовать тот браузер, который хочет.

    Я использую Iceweasel в Debian с ветвью выпуска mozilla.debian.net, и я не против тех, кто использует этот браузер.

    Я только предложил @helena попробовать Iceweasel, потому что Iceweasel определяет, что у него довольно симпатичный логотип (который многим не нравится), но не пугайтесь.

    В любом случае, я использую Iceweasel в Debian, потому что мне лень устанавливать Firefox, а у меня уже есть Firefox в Slackware, и у меня все отлично.

    1.    Elav сказал

      Очистить. Я имею в виду, что Firefox уже упакован в репозиторий. Iceweasel придется устанавливать из AUR со всеми вытекающими отсюда рисками.

      1.    элиотайм3000 сказал

        А, хорошо. Конечно, было бы желательно заменить Firefox на Iceweasel, поскольку я пробовал использовать оба браузера, но оба не могут быть запущены одновременно.

        Как только я закончу экспериментировать со Slackware, я создам виртуальную машину, на которую я установлю Arch с Iceweasel и облегченным интерфейсом (XFCE или LXDE).

    2.    Елена_рюу сказал

      [не по теме]
      хахаха, без проблем, я знаю, что в конце концов это firefox с другим логотипом, и это правда, он в aur, что может быть несколько рискованно, дело в том, что crunchbang установлен на ПК моей сестры (и for ende iceweasel) и действительно, что логотип очень кавайный ^^ Я не понимаю, почему кому-то он не нравится ~ _ ~
      [/ не по теме]

      1.    элиотайм3000 сказал

        Что ж, мне нравится логотип Iceweasel. По крайней мере, я рад тем дням, когда меня перевернули с ног на голову.

  11.   элиотайм3000 сказал

    Извините за не по теме, но комментировать из Opera Mini действительно неудобно.

    1.    Зиг84 сказал

      несколько неудобно, но улучшилось с изменением комментариев.

  12.   перец сказал

    хорошая работа

  13.   Эммануэль сказал

    Совет более чем интересен и полезен, но можно ли сделать так, чтобы он запускался каждый раз, когда вставляется usb? 😮
    Было бы здорово синхронизировать определенные папки на USB с системой.
    Привет и отличный вклад.

  14.   Маврикий сказал

    хахаха, и что ты нуб в баше.

    Это одна из причин, почему я влюбился в терминал, потому что я очень быстро делаю некоторые вещи.

    1.    элиотайм3000 сказал

      И это правда. Кроме того, она намного лучше, чем консоль Windows.

  15.   Пепе Лопес сказал

    Отличный совет. Я сохраню это.

  16.   Beegoqui сказал

    Спасибо ! … Очень помог!

  17.   Король сказал

    У кого-то есть файл bash, который я копирую из linux по следующему адресу /var/log/apt/history.log на адрес в Windows D: / Скопируйте файл history.log

  18.   Король сказал

    У кого-то есть файл bash, который я копирую из Linux по следующему адресу /var/log/apt/history.log на адрес в Windows D: / Скопируйте файл history.log, отправьте его мне на электронную почту rey79cm@gmail.com