내 원래 작업 디렉터리 계층 구조는 다음과 같습니다.
$ 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" >> {}' \;
이는 예상대로 작동합니다.