우분투는 현재 디렉토리의 파일을 재귀적으로 찾아 바꾸기

우분투는 현재 디렉토리의 파일을 재귀적으로 찾아 바꾸기

내 로컬 시스템에서 Ubuntu 14.04와 Magento 웹사이트를 실행하고 있습니다.

이제 이 현재 폴더 내의 모든 파일에서 "Magento\Module"의 모든 항목을 "MyCompany\Module"로 바꾸려는 모듈 디렉터리가 있고 당연히 하위 디렉터리도 재귀적으로 작동하지 않는 것 같습니다. \"가 내 검색에 있고 문자열을 바꿉니다.

나는 이미 시도했습니다:

find ./ -type f -readable -writable -exec sed -i "s/Magento\\Module/MyCompany\\Module/g" {} \;

하지만 전혀 작동하지 않습니다.

누구든지 도와주세요. 긴급합니다.

답변1

쉘은 이스케이프 중 하나를 소비할 가능성이 높습니다.

$ echo sed "s/Magento\\Module/MyCompany\\Module/g"
sed s/Magento\Module/MyCompany\Module/g

따라서 추가 이스케이프를 추가하거나 전체 표현식을 작은따옴표로 묶으십시오.

$ echo sed "s/Magento\\\Module/MyCompany\\\Module/g"
sed s/Magento\\Module/MyCompany\\Module/g

$ echo sed 's/Magento\\Module/MyCompany\\Module/g'
sed s/Magento\\Module/MyCompany\\Module/g

테스트하기:

$ echo 'every occurrence of "Magento\Module"' | sed 's/Magento\\Module/MyCompany\\Module/g'
every occurrence of "MyCompany\Module"

관련 정보