SED插入包含UTF8字符的变量



我正在尝试通过tree通过sed生成的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:

update

添加了tr -cd '111240-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

最新更新