首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux命令-管道命令

Linux命令-管道命令
EN

Stack Overflow用户
提问于 2012-06-15 18:50:39
回答 5查看 1K关注 0票数 3

我尝试了以下命令find ~/dir1 *.m4a | play

目录dir1中正好有一个m4a文件,我想要播放它,但我从播放中得到一个使用错误。为什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-15 18:58:36

可能是播放不使用STDIN,所以你必须使用xargs

代码语言:javascript
复制
 find ~/dir1 \*.m4a |xargs play
票数 2
EN

Stack Overflow用户

发布于 2012-06-15 18:56:57

您编写的内容指示find命令(一个m4a文件)的输出将作为下一个命令play的输入发送。

现在,我不知道play到底是什么,但最可能的是,它的语法是这样的:

代码语言:javascript
复制
play filename

但你写的是:

代码语言:javascript
复制
play < "filename"

因此,您可能希望使用xargs这样的命令,该命令将执行以下操作:

代码语言:javascript
复制
find ~/dir1 *.m4a | xargs play

这会导致:

代码语言:javascript
复制
play foundfile1 foundfile2 ...
票数 3
EN

Stack Overflow用户

发布于 2012-06-15 18:59:05

您正在尝试通过管道将文件的内容发送到播放中(即通过STDIN发送)。据我从play手册页可以看到,它不能这样做。

您想要发送找到要播放的文件名,如下所示:

查找~/dir1 *.m4a | xargs播放

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

https://stackoverflow.com/questions/11049263

复制
相关文章

相似问题

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