纯Bash实现将目标字符串替换为curl拉取的Markdown内容
纯Bash实现文件替换功能的换行兼容问题
业务需求
整套自动化逻辑基于纯Bash开发,需完成以下操作:
- 对本地
TARGET.md文件执行指定字符串匹配 - 将匹配到的目标字符串,替换为对应独立
.md文件的完整内容 - 实现过程不强制要求使用
sed工具
已验证的可行场景
在shell变量中手动设置带转义换行符的替换内容时,sed可以正常完成目标替换流程,无执行报错。
当前实现卡点
- 实际业务中,待替换的源md文件不在本地,需要通过
curl拉取远端路径下file1.md的原始内容作为替换值 - 将curl拉取得到的内容存入shell变量后传入
sed执行替换,会因为内容自带的原生换行符直接导致sed执行异常 - 已尝试多种
sed参数组合排查问题,确认问题根源是拉取内容中的原生换行,和当前使用的sed替换语法不兼容 - 已知
sed本身原生支持换行处理,但始终未找到正确的适配实现方式,多日检索相关技术方案仍未落地,需要可直接复用的实现方法、操作技巧或落地指引
内容的提问来源于stack exchange,提问作者Rudy Palacios
相关产品推荐
相关产品推荐

