꽤 간단한 질문이고 여기 전문가가 바로 알아낼 수있을 거라고 확신하지만, 제대로 작동하지 않는 것 같습니다 (아마도 일부 인용문 문제 일 것입니다.
다음의 모든 인스턴스를 배치하고 싶습니다.
`which cat`
다음과 같이 :
/bin/cat
다음 명령을 실행하고 있습니다.
for file in $(find . -iname 'PATCH*'); do sed 's/\`which cat\`/\'\/bin\/cat/g' $file; done
나는 특별한 것으로 취급 될 필요가없는 모든 캐릭터를 탈출했다고 믿지만, 그것은 속임수를 쓰지 않는 것 같다.
도와주세요 :)
일반적으로의 출력을 반복하는 것은 좋지 않습니다. find
파일 이름에는 $IFS
루프를 끊을 수있는가 포함될 수 있기 때문 입니다. 대신 다음 -exec
옵션을 사용하십시오 find
.
find -iname 'PATCH*' -exec sed -i 's#`which cat`#/bin/cat#g' {} \;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다