使用sed构建包含百分比代码的网址。可以使用简化的分子输入线路输入系统(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可能包含百分比%
符号。
我需要将%
符号转换为其网址转义码%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。
提前感谢您的回答。
答案 0 :(得分:2)
Windows命令shell的语法:
sed "s/%/25%/g" file
Windows命令shell('batch')脚本的语法:
@ECHO OFF &SETLOCAL
sed "s/%%/25%%/g" file