2014-04-27 5 views
0

일련의 파일이 들어있는 일련의 디렉터리가 있습니다. 이 파일의 새 사본이 있으며 모든 인스턴스를 교체하려고합니다. find 명령으로 어떻게이 작업을 수행 할 수 있습니까?여러 하위 폴더에있는 파일을 바꾸는 방법

최신 파일 /var/www/htmlupdate_user.php의 사본을 포함한 여러 다른 파일과 125 디렉토리가 있습니다

update_user.php라고합니다. 나는 이것들을 제외하고 update_user.php에있는 것으로 바꾸고 싶다. 새 파일 내부 /path/to/old없는 경우

find /path/to/old/files -type f -name update_user.php -exec cp /path/to/new/update_user.php {} \; 

당신은 확인해야합니다 그래서 첫 번째 복사본보다가 외부 사용을 복사 할 수 있지만 그 경우 ... 그것은 당신이 경우에 해가되지 것입니다 :

+1

폴더가 아니라 폴더가 있습니다. –

답변

2

이 작업을 수행해야합니다 하지 마십시오. cpare the same file 오류로 실패합니다.

당신은 소스 파일이

  • echo cp이 드라이 런을 수행하는 새로운 경우에만
  • cp -u 업데이트 무엇을보고

    1. cp -v을 사용할 수 있습니다
    내가 확인하는 것이 좋습니다 것입니다

    먼저 모든 목적지. 파일은 다음과 동일합니다.

    find /path/to/old/files -type f -name update_user.php -exec md5sum {} \;|awk '{print $1}'|sort|uniq 
    
  • 관련 문제