小编sag*_*000的帖子

有什么办法可以跨管道使用 xargs 吗?

我正在尝试将移动到一个文件夹的 flac 文件自动转换为另一个文件夹中的 mp3。

我当前的代码行是这样的:

inotifywait -m -r -q -e moved_to --format "'%w%f'" ~/test |  xargs -I x flac -cd x - | lame -b 320 - /media/1tb/x.mp3
Run Code Online (Sandbox Code Playgroud)

到目前为止,为了解释这是如何工作的,inotifywait 以递归方式监视 ~/test 移动到那里的文件,将路径和文件名输出到管道。xargs 使用该名称并创建正确的 flac 命令,用文件名替换 x 并将文件解码到另一个管道。在新的管道中,lame 将 flac 的输出处理成 /media 下的 mp3。我希望 xargs 以某种方式穿过管道,替换跛脚命令中的 x 或以某种方式将其发送到两个命令都可以访问的变量或其他东西。我试图搞乱命名管道和爵士乐,但是在两个命令之间传输实际数据的事实让我无法理解。

shell pipe xargs inotify

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

inotify ×1

pipe ×1

shell ×1

xargs ×1