我正在尝试运行截图脚本,但我不想让它在其子目录中运行。
假设我有一张名为 moviemap 的地图,里面有 3 张地图,每张地图有 5 部电影。我想进入 moviemap 地图,然后运行一个脚本,它会开始对 3 张地图中的所有电影进行截图。
我怎样才能做到这一点?
我现在有这个,但是它不起作用:(
#!/bin/bash
basedir=$1
for dir in "$basedir"/*
do
for i in *;
do
vcs -n40 -c4 -H 267 -a 400/267 -U0 $i
done
done
答案1
好的,如果你的设置如下:
Movies/Jan/movie1.mp4
Movies/Jan/movie2.mp4
Movies/Feb/movie3.mp4
Movies/Feb/movie4.mp4
Movies/march/movie5.mp4
其中 Movies 是您的 basedir。然后以下脚本将列出所有电影文件以及相对于 basedir 的完整路径。
for dir in $basedir/*/*
do
for file in $dir/
do
echo $file
done
done
用你的 vcs 命令替换echo $file
,但首先尝试这样做以确保你获得正确的文件。
这没有容错能力,也不会递归到子目录中。您可能想添加一个检查,以确保只抓取视频文件。