这就是我要做的事情。我本地有几个文本文件(Markdown格式化),其中包含指向外部图像或本地图像的图像链接。如果它们是外部的,意味着它们与http(s)URL链接,则应下载它们,然后应使用下载的文件名和位置替换文件中的链接。
我想出了如何将图像下载到assets
目录。但我无法解决如何更换文件中的URL问题。我以为我可以使用sed
来搜索URL,并用新的本地文件名替换它。
也许我做这个比必要更复杂,在这种情况下我想知道如何让这更容易。
我在OS X / macOS上。 ""
命令之后的sed
是破坏性编辑文件所必需的 - 否则会创建备份文件。
谢谢。
if [[ $i == *"http"* ]]; then
#if not local, download image
echo $i
cd "$packageName/assets"
curl -OJ $(echo $i | sed -e "s/\!\[\](\(.*\))/\1/")
cd -
sed -i "" "s/{$i}/blabla/g" "$packageName/$inFile"
else [[ -e $i ]]
#if local, move to assets folder
echo $i
cp "$(echo $i | sed -e "s/\!\[\](\(.*\))/\1/")" .
fi