У меня есть две строки в файле macp .plist:
<key>Disabled</key>
<true/>
Я хочу заменить true
на false
, но только если предыдущая строка равна <key>Disabled</key>
.
Я знаю, что 1-я строка заканчивается на \n
и, используя Perl, я могу сопоставить / заменить ее на:
perl -pi -w -e 's/Disabled<\/key>\n/DISABLED<\/key>\n/g' file
Примечание: я не хочу менять Disabled
на DISABLED
, этопросто чтобы показать соответствие работает.
Я знаю, что 2-я строка начинается с \t
, и я могу сопоставить / заменить ее на:
perl -pi -w -e 's/\t<true/\t<false/g' file
Однако объединение двух шаблонов нене соответствует или не заменяет что-либо:
perl -pi -w -e 's/Disabled<\/key>\n\t<true/Disabled<\/key>\n\t<false/g' file
Я думал, что может быть скрытый символ между \n
в конце 1-й строки и \t
в начале 2-й строки, но я 'мы пробовали это регулярное выражение в BBEdit, и оно отлично работает:
Disabled</key>\n\t<true
Любая помощь будет очень цениться.