найти и заменить строку в наборе XML-файлов с помощью команд оболочки - PullRequest
0 голосов
/ 22 октября 2009

У меня есть 1000 файлов в каталоге. Я на машине соляриса

Я хочу заменить строку "/ example / test / temp" t0 "/ testing / in / progress / во всех файлах xml в моем каталоге.

все указатели будут хороши.

спасибо,

новичок

Ответы [ 2 ]

1 голос
/ 22 октября 2009

Как насчет (все в одной строке):

find . \( -type d ! -name . -prune \) -o \( -type f -name "*.xml" -print \) |
    xargs perl -i.old -p -e 's-/example/test/temp-/testing/in/progress/-g'
0 голосов
/ 22 октября 2009

Используйте sed (1).

В целом безопаснее использовать процессор xslt для массажа XML-файлов, но в этом конкретном примере шансы некоторого «броского» представления XML, вызывающего проблемы, довольно малы ...

...