首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式化mpv的fzf多选择输出

格式化mpv的fzf多选择输出
EN

Stack Overflow用户
提问于 2022-08-30 05:39:54
回答 1查看 227关注 0票数 1

以下工作:

代码语言:javascript
复制
# play file1 and then file 2:
mpv "file1" "file 2"

# use fzf to select a file and play that file:
mpv "$(fdfind . /path/to/Music | fzf)" 

现在,fzf -m允许多选择。但是,以下内容不起作用:

代码语言:javascript
复制
mpv "$(fdfind . /path/to/Music | fzf -m)" #select at least 2 files here

首先,我认为问题在于fzf -m返回以换行符分隔的选择,例如:

代码语言:javascript
复制
file1
file 2

所以我尝试了一些sed/ awk的东西:

代码语言:javascript
复制
fdfind . /path/to/Music | fzf -m |
    sed 's/^/"/;s/$/"/' | #double quotes every line
    awk 1 ORS=' ' | #replace newline with ' '
    head -c -1 | #delete the last ' '

将其格式设置为:

代码语言:javascript
复制
"file1" "file 2"

这也没用。因此,我还使用以下方法尝试了kdialog

代码语言:javascript
复制
mpv "$(kdialog --getopenfilename --multiple /path/to/Music/)" #select at least 2 files here

但不起作用。但是,kdialog-open-files.lua用户脚本对我来说很好!

我认为我在将参数传递给mpv时犯了一个错误,因为下面(很明显)是这样工作的:

代码语言:javascript
复制
mpv "$(fdfind . /path/to/Music | fzf)" "$(fdfind . /path/to/Music | fzf)"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-30 06:40:12

是从这个堆叠溢出柱找到的

代码语言:javascript
复制
fdfind . Music/ | fzf -m | xargs -d "\n" mpv

您还可以通过这种方式将命令行参数传递给mpv

代码语言:javascript
复制
fdfind . Music/ | fzf -m | xargs -d "\n" mpv --volume=50 --loop-playlist=inf

等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73537588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档