我正在尝试按视频文件的宽度将视频文件移动到目录。
例如我有
./xxx/pr0n.mkv
./pokemon.mkv
运行脚本后
./xxx/1920/pr0n.mkv
./1920/pokemon.mkv
如果我再次运行脚本,则不会创建另一个宽度目录。
- 匹配常见的视频扩展名
- 做不是如果文件的父目录仅为数字则匹配(因为这是宽度)
到目前为止我已经想出了这个,但它不起作用:
find . -type f \( -iname "*.mkv" -o -iname "*.avi" -o -iname "*.mov" -o -iname "*.mpg" -o -iname "*.mpeg" -o -iname "*.wmv" -o -iname "*.mp4" \) -a -regex '.*\/[^0-9]+\/\.*$' -exec bash -c 'echo "Processing {} .."; WIDTH=$(mediainfo "--Inform=Video;%Width%" "{}") && DIR=$(dirname "{}") && mkdir -p "$DIR/$WIDTH" && mv "{}" "$DIR/$WIDTH"' \;
答案1
我发现你的问题:使用ffmpeg -i YOUR_MOVIE_FILES -sample_fmts
你得到长数据。
您必须使用 truegrep
来检索分辨率。在此数据中您可以找到解决方案。
ffmpeg -i YOUR_MOVIE_FILES -sample_fmts |egrep blahblah
或使用awk script
.