일반적으로 Ctrl-R 옵션이나 Ctrl-H 옵션등으로
디렉토리 내의 모든 파일의 내용을 치환하는 것이 있다.
아무튼 위의 경우는 grep에 옵션이 들어가지 않았고, 모든 파일에 대해서 검색을 하므로
ctags 사용중에는 tags 파일까지 검색을 하게 된다.
크로스컴파일 목적으로 CC 라던가 LD 등을 고치려고 하면
이렇게 find에 -name 옵션으로 파일을 지정하고(makefile 혹은 Makefile)
grep 옵션에 -w (Whole word matching) 으로 한정을 해주면 된다.
2010.02.04 추가
위의 예제는 "= gcc" 라고 들어있는 부분을 전체가 포함된 내용을 찾아 "= sh4-linux-gcc"로 변경해주는 것이다.
예를 들어 "= gcc3" 이런식으로 된 곳은 grep -w 옵션에 의해 무시된다.
그리고 tags 파일을 피하기 위해 find ./ -name Makefile 로 makefile에서만 수정을 하도록 제한한다.
2010/02/01 - [Linux] - grep에서 정확하게 찾기
디렉토리 내의 모든 파일의 내용을 치환하는 것이 있다.
find ./ -exec grep "content" {} \; -exec sed -i "s/content/container/g" {} \; [링크 : http://www.linux-forum.de/find-grep-replace-string-33557.html] |
아무튼 위의 경우는 grep에 옵션이 들어가지 않았고, 모든 파일에 대해서 검색을 하므로
ctags 사용중에는 tags 파일까지 검색을 하게 된다.
크로스컴파일 목적으로 CC 라던가 LD 등을 고치려고 하면
find ./ -name Makefile -exec grep -w "= gcc" {} \; -exec sed -i "s/\= gcc/\= sh4-linux-gcc/g" {} \; |
이렇게 find에 -name 옵션으로 파일을 지정하고(makefile 혹은 Makefile)
grep 옵션에 -w (Whole word matching) 으로 한정을 해주면 된다.
2010.02.04 추가
위의 예제는 "= gcc" 라고 들어있는 부분을 전체가 포함된 내용을 찾아 "= sh4-linux-gcc"로 변경해주는 것이다.
예를 들어 "= gcc3" 이런식으로 된 곳은 grep -w 옵션에 의해 무시된다.
그리고 tags 파일을 피하기 위해 find ./ -name Makefile 로 makefile에서만 수정을 하도록 제한한다.
2010/02/01 - [Linux] - grep에서 정확하게 찾기
'프로그램 사용 > sed awk regexp' 카테고리의 다른 글
sed를 이용해서 include 문 내의 디렉토리 구분자 변경하기 (2) | 2012.01.17 |
---|---|
쉘과 tr을 이용한 문자열 추출 - character manipulation using shell & tr (0) | 2009.11.18 |
문자열 치환하기 - string replace(substitute) using sed (0) | 2009.08.03 |
awk / sed / regular expression (0) | 2009.08.03 |