gpt4 book ai didi

windows - 多一个 bash(现在是 .bat)脚本

转载 作者:可可西里 更新时间:2023-11-01 10:09:36 26 4
gpt4 key购买 nike

我需要转换许多目录中的大约 12000 个 TIF 文件,并尝试编写 bash 脚本:

#!/bin/bash
find -name "*.tif" | while read f
do
convert "$f" "${f%.*}.png"
rm -f "$f"
done

为什么说:x.sh: 6: 语法错误:文件结尾意外(期待“做”)以及我应该做什么?


非常感谢大家,伙计们,但我被骗了:运行它的计算机可以在 Windows 下运行。我不知道如何在 DOS 中使用字符串和循环,现在我的脚本看起来像:

FOR /R %i IN (*.tif) DO @ (set x=%i:tif%png) & (gm convert %i %xtif) & (erase /q /f %i)

%i - .tif 文件之一。

%x - 扩展名为 .png 的文件名

gm convert - 图形 magick 实用程序,在 linux 上与图像 magick 的转换类似。

最佳答案

语法看起来不错,但如果它是 EOL 的问题,请尝试在 do 之前添加一个分号来修复语法错误(或检查换行符是否实际存在/按照 ghostdog74 的建议进行编码):

find -name "*.tif" | while read f ; do # ...

请注意,查找/读取模式并不可靠。使用可以直接使用 find 的 exec 能力(感谢 Philipp 的内联命令):

find -name "*.tif" -exec sh -c 'file=$0 && convert "$file" "${file%.tif}.png"' '{}' ';' -delete

关于windows - 多一个 bash(现在是 .bat)脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3223224/

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