如何从 find 命令找到的输入中创建自定义输出?

如何从 find 命令找到的输入中创建自定义输出?

我尝试从用户 (vcodec) 读取一个值。现在,find命令找到文件并将它们存储在 中{}。我想使用参数扩展来创建自定义输出。但我当然得到了错误'bad substitution'。我该如何解决这个问题?谢谢。

#!/bin/bash

read vcodec
find -exec ffmpeg -i "{}" -c:v "$vcodec" "${{}%.*}.mkv" \; 

答案1

用这个:

read -p 'vcodec >>> ' vcodec
find . -exec bash -c 'ffmpeg -i "$2" -c:v "$1" "${2%.*}.mkv"' -- "$vcodec" {} \; 

相关内容