이거 허접한 질문인데 grep 명령에서
글쓴이: shamlock / 작성시간: 화, 2005/11/29 - 3:48오후
Quote:
$ grep register_netdev -R *.c
grep: *.c: 그런 파일이나 디렉토리가 없음
위와 같이 나옵니다.
서브 디렉까지 검사해서 *.c 파일들중에서 register_netdev 라는 글자가 있는 파일을 grep 하려고 합니다.
*.c 에 따옴표도 붙여봤는데
안되네요
근데
Quote:
$ grep register_netdev -R *
이 명령은 잘 되거든요
리눅스,배쉬환경인데요
왜 안되는 것인지 궁금하네요
Forums:
-R 다음에 디렉토리를 지정하는것 같습니다.find . -name
-R 다음에 디렉토리를 지정하는것 같습니다.
find . -name "*.c" -exec grep {} \;
하시면 되겠습니다.
find . -name "*.c" -exec grep -l {} \;
하시면 파일명만 나옵니다.
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
-R 옵션이 recursive 하게 검색하라는 뜻이긴 하지만, 뒤에 파라
-R 옵션이 recursive 하게 검색하라는 뜻이긴 하지만, 뒤에 파라메터가 *.c 라고 되어 있으니 *.c 가 먼저 쉘에서 치환되어서 들어가고, 그 치환된 대상 (a.c b.c c.c d.c 등등) 에 대해서만 적용되어서 그렇습니다.
만일 a.c 라는 이름의 디렉토리가 있으면 그 디렉토리 안은 들어갑니다. (이 경우는 그 디렉토리 안에 모든 문서 - .c로 끝나지 않는 - 를 다 검색하는군요)
좋은 하루 되세요!
아..그렇군요
아..두분 모두 감사합니다.
쉘에서 먼저 치환되는것이었군요
그래서 파일을 찾을수 없다는 메시지가 나온것이었네요
다시한번 man 페이지를 보니 아래와 같이 하면 되긴 하네요
find 명령이나 --include 옵션이나 둘다 타이핑이 기네요 ㅎㅎ
@.@
댓글 달기