Я хочу заменить каждый экземпляр word
, который не имеет префикса pre
, с preword
с использованием sed
. Поэтому word
в preword
не следует заменять, но одиночный word
следует заменить на preword
.Заменить слова, которые не начинаются с определенного префикса с помощью sed
Я попробовал обычный отрицательный взгляд-за регулярное выражение, как так
sed -E -i 's/(?<!pre)word/preword/g'
, но он дает мне ошибку
sed: -e expression #1, char 22: Invalid preceding regular expression
Я читал, что GNU sed
имеет несколько различных способов лечения регулярного выражения. Что я могу сделать, чтобы это сделать?
Если '' foreword' стать forepreword'? Уточните ваши требования и продемонстрируйте краткий, проверяемый ввод проб и ожидаемый результат, который охватывает все ваши варианты использования. –