Я пытаюсь найти текст в файле XML и удалить только часть строки, в которой он есть.
Я нашел этот формат, чтобы попробовать: perl -p -i -e "s/$1/$2/g" $3
после некоторых поисков кода.
Итак, я использую этот код:
perl -p -i.bak -e "s/\'../../../specialText/\'//g" "C:/box/fileName.XML";
Что я хочу сделать, это удалить все из внутренних одинарных кавычек, как в:
'.. / .. / .. / specialText /' , но использование q () или \ 'для экранирования не работает, и я не уверен, что .. не являются испортить вещи либо. Я предполагаю, что если не вставить что-либо в качестве замены текста, это удалится должным образом, но я не уверен.
Ошибки:
Обратная косая черта найдена там, где ожидается оператор в -e строке 1, рядом с "/ specialText / \"
(Отсутствует оператор до \?)
синтаксическая ошибка в строке -e 1, рядом с "/ specialText / \"
- Невозможно найти терминатор строки "'" где-либо до EOF в строке -e 1.
Как переписать этот один вкладыш для достижения этой цели?
Это работает.
C:\box>perl -p -i.bak -e s/Copyright/bar/g Test.txt
Я попробовал это на другом файле, так что теперь мне просто нужно поиграть с ним, чтобы изменить мой оригинал