нужен скрипт для добавления строки в xml файл - PullRequest
0 голосов
/ 12 сентября 2011

для всех файлов, содержащих строку типа:

 <class name="blahblahblah" foo="bar" fooz="baz">

Я бы хотел добавить эту строку сразу после этого.

 <cache usage="read-write">

Ключевой текст для поиска:

  <class name=

Для этого у меня есть доступ к оболочке bash.

Спасибо!

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Попробуйте это:

sed -i '/<class name=*/ a\
<cache usage="read-write">' filename.xml

и помните, что это всего одна команда. Опция -i (--in-place) изменяет данный файл (на месте).

0 голосов
/ 12 сентября 2011

Является ли Awk вариантом?

awk '{ print; if ($0 ~ "<class name=") print "<cache usage=\"read-write\">"; }'

(Хотя я по-прежнему категорически против использования линейно-ориентированных инструментов для файлов XML. Приличный набор инструментов XML избавит вас от многих проблем в долгосрочной перспективе.)

...