sed заменяет csv включающим последний символ поискового запроса - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь заменить список слов, найденных в CSV-файле, индексной разметкой (docbook). 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.

1 Ответ

0 голосов
/ 10 сентября 2018

Проблема - строка в файле CSV, которая управляет процессом, здесь вы теряете пунктуацию.Замена: testword[ -?],testword<indexterm><primary>testword</primary></indexterm> на: testword\([ -?]\),testword\1<indexterm><primary>testword</primary></indexterm>

уже решит вашу проблему.

...