Я пишу скрипт bash для замены шаблона в строке, содержащей пробел. Текст выглядит так: property name = "abcd" value = "1234", а значение изменяется несколько раз в файле, таком как value = 3456 и value = 3689. Только строка, содержащая имя = «abcd» и значение = что-то должно быть заменено.Сравнение пробелов с использованием sed
Есть еще один экземпляр, где abcd и значение называются отдельно, которые НЕ должны быть заменены.
Я хочу совместить оба критерия name = "abcd" и значение перед выполнением замены. Что-то вроде
sed -i '/name="abcd" value=/c\property name="abcd" value="set"' filename
Как решить эти пробела между «ABCD» и значением, так что СЭД может распознать его как одну строку?
Вход:
`property name="abcd" value="1234"`
`property name="abcd" value="73845"`
`property name="abcd" value="8276"`
`property name="qwerty" value="1234"`
`blah blah ${abcd} blah`
Желаемый результат:
`property name="abcd" value="set"`
`property name="abcd" value="set"`
`property name="abcd" value="set"`
`property name="qwerty" value="1234"`
`blah blah ${abcd} blah`
Другими словами, вы хотите заменить '1234' и других по' blank'? –
Я действительно не понимаю ваш вопрос, но вы должны * вероятно, использовать XML-парсер. , , – ruakh
Да, замените значение строкой Blank для всех экземпляров, соответствующих критериям – Rahul