Замените строку "//" на "///", используя оболочку - PullRequest
2 голосов
/ 27 января 2012

Я пытаюсь сгенерировать документацию по API Octave, используя doxygen.Однако doxygen распознает только комментарии после /// как документацию, а стиль комментариев в Octave должен использовать только //.Я решил запустить команду оболочки, чтобы изменить это, и нашел это

sed -i 's/old-word/new-word/g' *.txt

из здесь .Когда я проверяю команду, используя

sed -i 's/////// /g' *.txt

или

sed -i 's/"//"/"/// "/g' *.txt

, я получаю сообщение об ошибке:

sed: -e expression #1, char 5: unknown option to `s'

или

sed: -e expression #1, char 6: unknown option to `s'

соответственно,Как правильно использовать sed для замены // на ///?

Кроме того, это более простой способ, такой как, например, одновременное открытие всех файлов в некоторой IDE и рефакторинг.

Ответы [ 2 ]

7 голосов
/ 27 января 2012

Попробуйте:

sed -i 's+//+///+g' *.txt

Не удачно использовать / в качестве разделителя, если вам нужно заменить /// на // xD.

0 голосов
/ 28 января 2012

Использовать strrep() ( строка заменить ). Я предполагаю, что переменная "s" содержит вашу строку, содержащую "//". Добавьте следующий код в ваш скрипт:

strrep (s,"//","///");

В этом случае / действует как escape-последовательность для / и //.

...