使用sed在下载的文本文件中本地化URL

时间:2016-06-16 08:13:14

标签: macos curl sed

这就是我要做的事情。我本地有几个文本文件(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

0 个答案:

没有答案