2012-06-20 2 views
0

У меня есть это замечательное приложение для музыкальной библиотеки: свекла.Как избежать вывода команды (oneliner) в zsh

Когда я запустил beet ls somequery -f, я получаю список путей моих музыкальных файлов, разделенных символами новой строки. К сожалению, пути содержат неэкранированные пробелы, и я не могу кормить MPlayer, как это:

mplayer `beet ls smooth` 

Это не работает либо:

mplayer $((q)beet ls smooth) 

Можно ли обеспечить компактное решение?

ответ

1

mplayer ${(f)"$(beet ls smooth)"}

+0

Отмечено это, потому что xargs вызывают проблемы с mplayer (нельзя управлять им). Благодаря! – pielgrzym

1

Использование xargs:

beet ls smooth | xargs mplayer 

Это защитит имена файлов против пространств, но не перевод строки. (Я предполагаю, что они не содержат переводы строк, как программу beet производит новую строку списка, разделенные.)

+0

мне нужно добавить опцию разделителей: -d «\ п» :) – pielgrzym

+0

Ah , извините за это. :) (Фактически, я использую '-0', где это возможно.) – musiphil

Смежные вопросы