首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >*.MKV Bash的递归搜索

*.MKV Bash的递归搜索
EN

Stack Overflow用户
提问于 2020-01-05 07:00:04
回答 1查看 332关注 0票数 0

我主要是一个Windows的人,并有相当数量的脚本能力在PowerShell。不过,最近由于Linux的流行,我对学习bash很感兴趣。

无论如何,我已经有一个通用脚本,用于根据某些视频文件的扩展名编码它们。虽然这是非常基本的,也不足以让我感到满意。为了帮助我更好地理解bash,我希望有人能向我展示可以递归执行的代码,而不管目录有多深。

encode.sh

代码语言:javascript
复制
for INF in "/mnt/usbhdd"/**/**/**/*.mkv
do
  ffmpeg -i "$INF" -c:v libx264 -preset veryfast -crf 22 -profile:v main -level:v 4.0  -c:a aac -ac 2 -ab 320k "${INF%.*}.m4v"
done

正如您所看到的,第一行无论如何都不是理想的,我使用nohup运行这个脚本,这样它就可以运行到完成为止。

如果您可以创建递归执行的代码(可能设置父文件夹)并解释任何更改,我将非常感谢您对学习的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-01-05 11:22:27

Kudos to @kvantour指南:

代码语言:javascript
复制
shopt -s globstar
for f in /mnt/usbhdd/**/*.mkv; do ls "$f"; done

代码语言:javascript
复制
find /mnt/usbhdd/ -name '*.mkv'

最后解决办法:

代码语言:javascript
复制
shopt -s globstar;
for f in /mnt/usbhdd/**/*.mkv
do 
    ffmpeg -i "$f" -c:v libx264 -preset veryfast -crf 22 -profile:v main -level:v 4.0  -c:a aac -ac 2 -ab 320k "${f%.*}.m4v"
done   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59597705

复制
相关文章

相似问题

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