find -exec vi 에서
글쓴이: khalisto / 작성시간: 수, 2013/11/06 - 6:24오후
안녕하세요. 대학 졸업논문 때문에 연구하고 있는 리눅스 유저입니다.
find 와 vi 명령어를 이용하여 특정 키워드를 치환하고 저장하는 명령은 검색을 통해 충분히 배울 수 있었는데
find . -name "test.txt" -exec vi -c "%s/Morning/Evening/" -c "wq" "{}" \;
특정 키워드가 포함된 라인 바로 하단에 새로운 내용을 추가하려고 하는데 응용이 잘 안 되어 도움을 얻고자 질문드립니다. ^^
test.txt 파일 내용은 다음과 같습니다.
Good Morning
Hello?
find . -name "test.txt" -exec vi -c "%s/Morning/Evening/" -c "wq" "{}" \; 를 실행하면 정상적으로 Morning -> Evening 으로 변경 됩니다.
예를 들어 Hello? 하위(3행)에 Goodbye 라는 키워드를 위와 같은 find 명령으로 실행하고자 한다면 어떠한 방법으로 수행해야하는지 조언 부탁드립니다.
감사합니다.
Forums:
특정한 Hello? 라는 문자열 하위 3행에
특정한 Hello? 라는 문자열 하위 3행에 Goodbye를 추가하시길 원하시는건가요?
sed -e "s/Morning/Evening/g" -e "s/Hello?/\n\n\nGoodbye/g" | `find . -name "test.txt"`
추가하고 싶은 조건이 있으면, sed -e "s/찾는문자열/바꿀문자열/g" 를 계속 추가해나가시면 될듯 싶네요
에고 오타 sed -e
에고 오타
sed -e "s/Morning/Evening/g" -e "s/Hello?/\n\n\nGoodbye/g" < `find . -name "test.txt"`
`find 앞에 | 가 아니라 < 입니다
도움주셔서 감사합니다. ^^
sed 에 관한 좋은 정보를 주셔서 감사합니다. ^^
댓글 달기