首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用xdg-open打开多个文件?

如何使用xdg-open打开多个文件?
EN

Unix & Linux用户
提问于 2022-06-19 16:59:52
回答 1查看 563关注 0票数 1

假设我运行xdg-open file.flac。它将等同于mpv file.flac。但是如果我运行xdg-open *.flac,它会给我一个错误,因为它认为其他文件是“意外参数”。我想要它做的是运行mpv *.flac:一个mpv,所有文件都与*.flac匹配,所以它们最终会出现在一个播放列表中。

编辑:我找到了一个解决办法:

代码语言:javascript
复制
printf "$sel" | sed -e "s/'/'\\\\''/g;s/\(.*\)/'\1'/" | xargs `printf "gtk-launch $(xdg-mime query default $(grep ${sel##*.}= /usr/share/applications/mimeinfo.cache | cut -d '/' -f 1)/${sel##*.})"`

$sel是我想打开的文件(S)。

EN

回答 1

Unix & Linux用户

发布于 2022-06-19 17:28:24

xdg-open不处理多个参数,所以您能做的最好的就是循环处理这些文件:

代码语言:javascript
复制
for file in ./*.flac; do xdg-open "$file"; done

xdg-open运行mpv *.flac是不可能的。

您可以尝试手动使用该命令:

代码语言:javascript
复制
$ xdg-mime query filetype *.flac
audio/flac
$ xdg-mime query default audio/flac

这应该指向mpv的S桌面文件,尽管没有路径。找出它在哪里(如果没有定义,可以使用$XDG_DATA_DIRS/usr/local/share:/usr/share --在applications子目录中查找),并提取这个Exec条目;如果应用程序支持,%F place-holder将指定多个文件的命名位置。

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

https://unix.stackexchange.com/questions/706756

复制
相关文章

相似问题

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