繁体   English   中英

包含UTF8字符的sed插入变量

[英]Sed insert variable containing UTF8 chars

我试图将通过sed通过tree生成的html目录结构插入到现有的html文件中。

问题:目录结构包含html标记和非ASCII字符:

<a href="Wiki">Wiki</a><br> ├── <a href="Wiki/Servers/">Servers</a><br> │   ├── <a href="Wiki/Servers/Plesk-Umzug.html">Plesk-Umzug.html</a><br> │   └── <a href="Wiki/Servers/web02.html">web02.html</a><br> ├── <a href="Wiki/SmartHome/">SmartHome</a><br> │   └── <a href="Wiki/SmartHome/Linksamlung/">Linksamlung</a><br> │   &nbsp;&nbsp;&nbsp; ├── <a href="Wiki/SmartHome/Linksamlung/Homematic.html">Homematic.html</a><br> │   &nbsp;&nbsp;&nbsp; └── <a href="Wiki/SmartHome/Linksamlung/Netzwerk-scripte.html">Netzwerk-scripte.html</a><br> ├── <a href="Wiki/tmp.html">tmp.html</a><br> └── <a href="Wiki/Verwaltung/">Verwaltung</a><br> &nbsp;&nbsp;&nbsp; ├── <a href="Wiki/Verwaltung/Bank.html">Bank.html</a><br> &nbsp;&nbsp;&nbsp; └── <a href="Wiki/Verwaltung/Zugangsdaten.html">Zugangsdaten.html</a><br> <br><br> </p>

如何告诉sed将此文本插入文件?

sed -i "11i${MENU}" $FILENAME返回以下错误: sed: -e expression #1, char 34: unknown command:

更新

添加了tr -cd '\\11\\12\\40-\\176'来删除非ASCII字符。 当前的问题是HTML中的<> char。 我想我需要逃脱吗?

错误消息是

sed: -e expression #1, char 35: unknown command: `<'

在python中重新实现。

如果您要在行号11之前插入sed行,则语法会更清晰:

sed -i "11 i ${MENU}" $FILENAME

另外,请分享如何将html标记保存在变量中,您应该使用:

MENU='you html tag'
sed -i "11 i ${MENU}" $FILENAME

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM