我正在使用 sed 构建带有百分比代码的 URL。可以使用简化的分子输入行输入系统 (SMILES) 来表示化学品。见:http ://en.wikipedia.org/wiki/SMILES
这是化学铁硫钼辅因子的 SMILES 代码:
[O-]C(=O)CCC1(CC([O-])=O)O[Mo]23(OC1=O)[S]1[Fe]45S[Fe]67[S]8[Fe]9[S]6[Fe]6%10S[Fe]%11([S]24)[S]3[Fe]11S[Fe]8([S]96)[N]57%10%111
一些化学站点允许在 URL 中使用 SMILES 进行访问。如您所见(在原子[Fe]6
和之后[N]57
)SMILES 可能包含百分号%
。
我需要将%
符号转换为它的 URL 转义码%25
。我在 Windows 7 中使用 GnuWin32 sed 版本 4.1.5.4013。我有这个 sed 脚本:
sed -e "s/\%/\%25/g" < C:\1.txt > C:\2.txt
但它返回此错误消息:
sed: -e expression #1, char 6: unterminated `s' command
此外,当我在命令模式下查看脚本时,我看到:
sed -e "s/\25/g" C:\bin\1.txt > C:\bin\2.txt
很明显,这个%
符号被剥夺了。
如何修改 sed 脚本以将 SMILES 字符串转换为包含以符号 开头的 URL 转义码%
。
也愿意使用 awk 或 gawk。
预先感谢您的回答。