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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Терминал, как вывести содержимое всех субдиректорий?  (Прочитано 1169 раз)

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

Оффлайн lazyal

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
    • Просмотр профиля
Подскажите, какая команда терминала может вывести названия всех файлов из субдиректорий?
Не знаю, насколько я правильно разрабатываю вопрос, нужно взять все мп3 файлы в субдиректориях папки Х и направить их для проигрывания в mplayer.
Не знаю, насколько работоспособна будет следующая конструкция:
<команда, выводящая спсок всех мп3 в субдиректориях папки Х> | mplayer

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Может так:
ls -R
И так:
mplayer ./*mp3
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Например, так
find ~/'Рабочий стол' -iname *.mp3 -print0 | xargs -0 mplayerЗдесь приведён способ с обработкой всех спец символов.

Oni-chan

  • Гость
Re: Терминал, как вывести содержимое всех суб
« Ответ #3 : 01 Октября 2009, 14:28:18 »
или вообще так
find /media/mybigdirectoty -name *.mp3 -exec mplayer \{ \} \;
« Последнее редактирование: 01 Октября 2009, 14:29:50 от Shtsh »

Оффлайн lazyal

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
    • Просмотр профиля
Цитировать
mplayer ./*mp3
Не ищет в субдирах

Цитировать
find ~/'Рабочий стол' -iname *.mp3 -print0 | xargs -0 mplayer
Заработала только эта конструкция. *ушел читать man xargs*

update:

Оказалось не всё так гладко. После этой конструкции mplayer не реагирует на горячие клавиши. Отсутствует перемотка, регуляция громкости и проч. Реагирует только на Ctr+c. И воспроизводит, почему-то, не по-порядку...
« Последнее редактирование: 01 Октября 2009, 14:44:58 от lazyal »

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
mplayer ./*mp3
Это воспроизведёт файлы mp3 только из текущей директории.
find /media/mybigdirectoty -name *.mp3 -exec mplayer \{ \} \;
Тоже способ, но, во-первых, такой скрипт срабатывает значительно медленне. А, во-вторых, мой вариант сперва собирает имена файлов и потом запускает mplayer. Этот же вариант сперва находит одно совпадение, запускает mplayer, потом ищет другое совпадение. Ну, и самое главное, у меня на это вариант ругается find.
*ушел читать man xargs*
Лучше всё-таки дочитать до конца man find. Этот способ там подробно описан.

Оффлайн lazyal

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
    • Просмотр профиля
Цитировать
alex@alex-laptop:~/Music/Red Hot Chili Peppers$ find . -iname *.mp3 -exec mplayer \{\}\;
find: missing argument to `-exec'
Не хочет.

Oni-chan

  • Гость
Цитировать
find /media/win_d/to_write/ -name *.avi -exec mplayer \{\} \;
MPlayer SVN-r29411-4.4.0 (C) 2000-2009 MPlayer Team
137 audio & 299 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /media/win_d/to_write/House.M.D.s06e01.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
[aviheader] Audio stream found, -aid 2
VIDEO:  [XVID]  624x352  12bpp  23.976 fps  807.6 kbps (98.6 kbyte/s)
Clip info:
 Software: VirtualDubMod 1.5.10.2 (build 2542/release)
Всё работает. Пробел перед \; у вас отсутствует

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
 locate -r "..*.mp3"

Пользователь решил продолжить мысль 01 Октября 2009, 14:56:25:
Все mp3.
Не забываем
updatedb
иногда делать, при больших изменениях в списках файлов.
« Последнее редактирование: 01 Октября 2009, 14:56:25 от alexander.pronin »

Оффлайн lazyal

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
    • Просмотр профиля
Цитировать
Всё работает. Пробел перед \; у вас отсутствует
Да, действительно, не заметил пробел. Но всё равно, невозможно перемещаться при такой конструкции по плейлисту, как это происходит при введении mplayer *.mp3 внутри папки с фйлами. Желательно каким-то образом загнать весь список в проигрыватель.

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Оказалось не всё так гладко. После этой конструкции mplayer не реагирует на горячие клавиши. Отсутствует перемотка, регуляция громкости и проч. Реагирует только на Ctr+c.
УМВР. Возможно потому, что у меня сборка mplayer из SVN. В любом случае это проблемы mplayer.
И воспроизводит, почему-то, не по-порядку...
Как нашёл файлы так и выдал. Если не нравиться порядок, то файлы всегда можно отсортировать.
Всё работает. Пробел перед \; у вас отсутствует
Цитировать
~$ find ./ -name *.mp3 -exec mplayer \{ \} \;
MPlayer 1.0rc2-4.3.3 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Usage:   mplayer [options] [url|path/]filename

Basic options: (complete list in the man page)
 -vo <drv>        select video output driver ('-vo help' for a list)
 -ao <drv>        select audio output driver ('-ao help' for a list)
 vcd://<trackno>  play (S)VCD (Super Video CD) track (raw device, no mount)
 dvd://<titleno>  play DVD title from device instead of plain file
 -alang/-slang    select DVD audio/subtitle language (by 2-char country code)
 -ss <position>   seek to given (seconds or hh:mm:ss) position
 -nosound         do not play sound
 -fs              fullscreen playback (or -vm, -zoom, details in the man page)
 -x <x> -y <y>    set display resolution (for use with -vm or -zoom)
 -sub <file>      specify subtitle file to use (also see -subfps, -subdelay)
 -playlist <file> specify playlist file
 -vid x -aid y    select video (x) and audio (y) stream to play
 -fps x -srate y  change video (x fps) and audio (y Hz) rate
 -pp <quality>    enable postprocessing filter (details in the man page)
 -framedrop       enable frame dropping (for slow machines)

Basic keys: (complete list in the man page, also check input.conf)
 <-  or  ->       seek backward/forward 10 seconds
 down or up       seek backward/forward  1 minute
 pgdown or pgup   seek backward/forward 10 minutes
 < or >           step backward/forward in playlist
 p or SPACE       pause movie (press any key to continue)
 q or ESC         stop playing and quit program
 + or -           adjust audio delay by +/- 0.1 second
 o                cycle OSD mode:  none / seekbar / seekbar + timer
 * or /           increase or decrease PCM volume
 x or z           adjust subtitle delay by +/- 0.1 second
 r or t           adjust subtitle position up/down, also see -vf expand

 * * * SEE THE MAN PAGE FOR DETAILS, FURTHER (ADVANCED) OPTIONS AND KEYS * * *

ЧЯДНТ?


Oni-chan

  • Гость
Re: Терминал, как вывести содержимое всех суб
« Ответ #11 : 01 Октября 2009, 15:14:50 »
./ -вот что не так
нужно в кавычки взять  "*.mp3"
« Последнее редактирование: 01 Октября 2009, 15:19:24 от Shtsh »

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
./ -вот что не так
нужно в кавычки взять  "*.mp3"
Цитировать
~$ find ./ -name "*.mp3" -exec mplayer \{ \} \;
...
Usage:   mplayer [options] [url|path/]filename
....
Ещё предложения?

Oni-chan

  • Гость
Re: Терминал, как вывести содержимое всех суб
« Ответ #13 : 01 Октября 2009, 15:36:55 »
вот \{\}
посередине пробела быть не должно
find ./ -name "*.avi" -exec mplayer \{\} \; отрабатывает

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Работает. Но на Q просто заканчивает проигрывать одну песню и начинает проигрывать другую. Причина?
А, во-вторых, мой вариант сперва собирает имена файлов и потом запускает mplayer. Этот же вариант сперва находит одно совпадение, запускает mplayer, потом ищет другое совпадение.

 

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