【发布时间】:2022-01-10 17:52:58
【问题描述】:
我是 bash 新手。我编写了以下 for 循环来使用 basename 将 URL 数组转换为图像文件:
for i in ${img_jpg[@]//\"/} ; do convert "$i" -set filename:base "%[basename]" "%[filename:base].png" ; done
它适用于如下格式的 URL:
https://xxx.domain.com/xy22233
现在我想创建一个类似的循环,使用 basename 没有文件扩展名的 url,如下所示:
https://img.domain.com/vi/y2x112233/default.jpg
我想输出一个只有这部分 URL 的文件:
y2x112233
甚至是整个 URL。
这是我的尝试,但没有成功:
for i in ${img_jpg[@]//\"/} ; do convert "$i" "${filename%.*}" ; done
【问题讨论】:
-
basename $(dirname "https://img.domain.com/vi/y2x112233/default.jpg")? -
看起来确实可行。您是否碰巧知道如何将其合并到循环中?
标签: bash loops imagemagick