Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: find по одному файлу из каждого каталога  (Прочитано 796 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vail

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Есть папка \Music\Random\

В ней подпапки
\Random1\
...
\RandomN\

Также могут быть другие подпапки или симлинки.

Необходимо выдернуть из каждой номерной подпапки RandomNN по ождному случайному файлу *.mp3

find /Music/Random/Random1/ -type f -name "*.mp3" | shuf -n1  #вполне работает для одной папки.

Как написать цикл для прохождения всех папок вида RandomNN и игнорирования всего остального?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: find по одному файлу из каждого каталога
« Ответ #1 : 08 Ноября 2018, 16:19:03 »
Код: (bash) [Выделить]
for d in /Music/Random/Random[0-9]*/ ; do shuf -en1 "${d}"*.mp3 ; done
« Последнее редактирование: 08 Ноября 2018, 16:21:06 от Azure »
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Vail

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: find по одному файлу из каждого каталога
« Ответ #2 : 09 Ноября 2018, 10:06:38 »
Спасибо. Это решение вполне приемлемо.

 

Страница сгенерирована за 0.013 секунд. Запросов: 19.