2014-12-02 2 views
0

grep 또는 sed를 사용하여 여러 파일에서 문자열을 바꾸는 방법에 대한 몇 가지 예를 찾을 수 있지만 이전 버전의 파일을 새 버전으로 바꾸고 싶습니다. 나는 10 개의 서로 다른 하위 폴더에 클래스 파일 new1.class.php을 가지고 있고 나는 새로운 new1.class.php으로 모든 new1.class.php을 대체 할 예를 들어여러 하위 폴더에있는 여러 파일을 유닉스의 새 버전 파일로 바꿉니다.

,

방법 그걸 할 수 있을까요?

+0

내가'sed -i' (in-place edit)를 원한다고 생각하니? – Carpetsmoker

+0

실제로는 파일의 문자열을 바꾸는 대신 전체 파일을 새 파일로 바꾸기 만하면됩니다. –

+0

이름을 바꾸시겠습니까? –

답변

1

당신은 ... find를 사용하고 단지 thusly 히 맨 위에 새 파일을 복사 할 수 있습니다

find . -name new1.class.php -exec cp /some/place/new1.class.php {} \; 

cp는 대상 파일의 소유권과 저작권 (사람을 보존합니다 (루트로이 실행 가정) 덮어 쓰여지고있다). 소스 파일의 허가를 유지하고 싶다면 cp -p

+0

그것은 하나의 – Hackaholic

+0

덕분에 그들 모두를 대체하게 될 것입니다. 동일한 사용자와 권한을 복원하기 전에 원래 복원하는 방법은 어떻습니까? –

관련 문제