我试图用索引标记(docbook)替换csv文件中找到的单词列表。 csv采用以下格式:
testword[ -?],testword<indexterm><primary>testword</primary></indexterm>
这会在最后找到所有带有标点符号的testword
。这部分有效。但是,我需要将最终的标点符号包含在sed命令的替换部分中。
sed -e 's/\(.*\)/s,\1,g/' index.csv > index.sed
sed -i -f index.sed file.xml
所以例如This is a testword, in a test.
将被This is a testword,<indexterm><primary>testword</primary></indexterm> in a test.
取代
问题是csv文件中控制过程的字符串,这里你松开了标点符号。替换:testword[ -?],testword<indexterm><primary>testword</primary></indexterm>
:testword\([ -?]\),testword\1<indexterm><primary>testword</primary></indexterm>
已经解决了你的问题。