shell 명령을 사용하여 XML 파일 세트에서 문자열을 찾고 교체하십시오.
문제
디렉토리에 1000 파일이 있습니다. 나는 Solaris 기계에 있습니다
내 디렉토리의 모든 XML 파일에서 문자열 "/example/test/temp"t0 "/testing/in/progress/를 교체하고 싶습니다.
모든 포인터는 좋을 것입니다.
감사해요,
초심자
해결책
(한 줄에 모두)는 어떻습니까 :
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'
다른 팁
sed (1)를 사용하십시오.
일반적으로 XSLT 프로세서를 사용하여 XML 파일을 마사지하는 것이 더 안전하지만,이 특정 예에서는 문제를 일으키는 "펑키"XML 표현이 꽤 멀지 않습니다 ...
제휴하지 않습니다 StackOverflow