gpt4 book ai didi

shell - 循环遍历给定目录中的所有文件

转载 作者:行者123 更新时间:2023-12-02 21:56:50 24 4
gpt4 key购买 nike

这是我正在尝试做的事情:

为 shell 脚本提供一个参数,该脚本将在所有 jpg、bmp、tif 扩展名的文件上运行任务。

例如:./doProcess/media/repo/user1/dir5

该目录中的所有 jpg、bmp、tif 文件都将运行某个任务。

我现在拥有的是:

for f in *
do
imagejob "$f" "output/${f%.output}" ;
done

我需要有关 for 循环的帮助来限制文件类型,并且还需要某种在指定目录而不是当前目录下启动的方法。

最佳答案

使用 shell 扩展而不是 ls

for file in *.{jpg,bmp,tif}
do
imagejob "$file" "output/${file%.output}"
done

如果您有 bash 4.0+,则可以使用 globstar

shopt -s globstar
shopt -s nullglob
shopt -s nocaseglob
for file in **/*.{jpg,bmp,tif}
do
# do something with $file
done

关于shell - 循环遍历给定目录中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5138123/

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