발견된 모든 파일에 한 줄 추가

발견된 모든 파일에 한 줄 추가

내 원래 작업 디렉터리 계층 구조는 다음과 같습니다.

$ find
.
./usr1
./usr1/.vimrc
./usr2
./usr2/.vimrc

모든 항목에 "설정 번호"라는 한 줄을 추가하고 싶습니다..vimrc문서. 그래서 다음 명령을 실행했습니다.

find -name ".vimrc" -exec echo "set number" >> {} \;

그러나 모든.vimrc파일은 변경되지 않고 새로 생성되었습니다.{}내 작업 디렉토리에 있는 파일:

$ find
.
./usr1
./usr1/.vimrc
./{}
./usr2
./usr2/.vimrc

뭐가 문제 야? 어떻게 하면 올바르게 할 수 있나요?

답변1

명령의 출력을 리디렉션하려면 -exec상황에 따라 쉘 명령을 실행하는 것이 좋습니다.

find -name ".vimrc" -exec sh -c 'echo "set number" >> {}' \;

이는 예상대로 작동합니다.

관련 정보