디렉토리 및 하위 디렉토리의 모든 PHP 파일에서 텍스트를 검색하고 바꾸는 방법

디렉토리 및 하위 디렉토리의 모든 PHP 파일에서 텍스트를 검색하고 바꾸는 방법

.php디렉터리의 모든 파일을 반복적으로 반복하고 특정 텍스트 패턴을 검색하고 바꾸는 쉘 스크립트를 찾고 있습니다 .

검색 패턴은 꽤 길기 때문에(5000자 이상) 편의를 위해 다른 텍스트 파일에 저장할 수 있습니다. 또한 슬래시 문자도 포함되어 있습니다.

편집: 첫 번째 부분을 이해한 것 같습니다.

find . -name "*.php"

그렇다면 이 파일 내에서 어떻게 검색하고 바꾸나요?

ベストアンサー1

이는 sed와 xargs를 잘 조합하면 쉽게 수행할 수 있습니다.

find . -name "*.php" | xargs -n 1 echo

xargs의 힘을 보여줄 것입니다.

그런 다음 샘플 파일에서 내부 변경(-i) 또는 백업 변경(-i.bak)을 사용하여 정규식을 테스트할 수 있습니다. 패턴/교체에 이미 문자가 있는 경우 "/"를 다른 문자로 바꿀 수도 있습니다.

결국 다음과 같아야 합니다.

pattern=`cat /path/to/pattern`; replacement=`cat /path/to/replacement`
find . -name "*.php" | xargs -n 1 sed -i -e "s|$pattern|$replacement|g"

おすすめ記事