gpt4 book ai didi

列出目录中文件的 Bash 脚本不起作用

转载 作者:行者123 更新时间:2023-12-04 22:51:54 26 4
gpt4 key购买 nike

我制作了一个 bash 脚本,因为我需要将目录中的很多文件从 .MOV 转换为 .mp4 格式。
我为此目的创建了这个脚本:

#!/bin/bash

touch .lista
ls -1 "$1" | grep -i .MOV > .lista
list= `pwd`/.lista
cd "$1"
while read -r line;
do filename=${line%????}
ffmpeg -i "$line" -vcodec copy -acodec copy "$filename.mp4"; done < $list
rm .lista

该脚本应该将每个 .MOV 文件转换为 $1 指示的目录,但它不起作用,它只转换一个文件,然后终止。我不明白为什么。那有什么问题?

最佳答案

最好简单地使用 glob 循环:

for file in "$1"/*.MOV; do
ffmpeg -i "$file" ... "${file%.*}.mp4"
done

Why you shouldn't parse the output of ls.

关于列出目录中文件的 Bash 脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51556143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com