svn의 특수 폴더를 제외하고 "foo"에 대한 svn 작업 복사본의 모든 cpp/h 파일을 검색해야합니다. GNU grep에 대한 정확한 명령은 무엇입니까?svn 작업 복사본의 빠른 재귀 grepping
답변
나는이 목적으로 grep과 비슷하지만 소스 제어 디렉토리를 제외하는 방법을 알고있다.
우분투/데비안의 ack 패키지는 "ack"라고하는 간지 코드 변환기가 있기 때문에 실제로 "ack-grep"이라고합니다. – JesperE
이것은 RTFM입니다. 나는 'man grep'과 '/ exclude'를 입력하고 :
--exclude = GLOB 와일드 카드 이 일치하는 기본 이름이 GLOB와 일치하는 파일을 건너 뜁니다. 파일 이름 glob은 *,? 및 [...]을 와일드 카드로 사용하고 \를 사용하여 와일드 카드 또는 백 슬래시 문자 을 말 그대로 인용 할 수 있습니다.
들인다에서 이름 = FILE 그베이스로부터 판독 된 파일 이름 globs와 중 일치 FILE 스킵 파일 ( --exclude 기재된 바와 같이 문자 일치를 사용).
--exclude-dir = DIR 패턴 DIR과 일치하는 디렉토리를 재귀 적 검색에서 제외합니다. 작업 디렉토리에서
RTFMing 사람들은 유즈넷에서하는 일입니다. 그래서 다르다. 그건 그렇고, 당신은 그 질문에 대답하지 않았습니다. – Constantin
그렙 -ir --exclude-DIR =을 .svn foo는 *
할 것입니다. 대/소문자를 구분하여 검색하려면 'i'를 생략하십시오.
만 cpp를 확인하고 싶은 .H 파일
그렙 -ir --include = {cpp를, .H} --exclude-DIR =을 .svn foo는 *
*를 cpp/h와 만 일치하는 것으로 대체 할 수있는 기회가 있습니까? – Constantin
죄송합니다. --exclude-dir 옵션을 찾을 수 없습니다 : http://unixhelp.ed.ac.uk/CGI/man-cgi?grep – Constantin
모든 grep 버전에서 사용할 수있는 것은 아닙니다. 하지만 내 우분투 8.04 시스템 거기에 적어도 –
오프 주제 조금가는 : 당신이 (즉,하지 버전 제어) 당신에게 만 소스 제어 파일을 검색 할 비 추적 파일의 많은 작업 복사본이있는 경우
, 당신은 할 수
은 ... 차라리 GUI 기반의 IDE보다 명령 줄에서 검색 (코딩에 대한 vim
사용)을 더 빠르고 더 즐거운 찾을 :
s() {
local PATTERN=$1
local COLOR=$2
shift; shift;
local MOREFLAGS=$*
if ! test -n "$COLOR" ; then
# is stdout connected to terminal?
if test -t 1; then
COLOR=always
else
COLOR=none
fi
fi
find -L . \
-not \(-name .svn -a -prune \) \
-not \(-name templates_c -a -prune \) \
-not \(-name log -a -prune \) \
-not \(-name logs -a -prune \) \
-type f \
-not -name \*.swp \
-not -name \*.swo \
-not -name \*.obj \
-not -name \*.map \
-not -name access.log \
-not -name \*.gif \
-not -name \*.jpg \
-not -name \*.png \
-not -name \*.sql \
-not -name \*.js \
-exec grep -iIHn -E --color=${COLOR} ${MOREFLAGS} -e "${PATTERN}" \{\} \;
}
# s foo | less
sl() {
local PATTERN=$*
s "$PATTERN" always | less
}
# like s but only lists the files that match
smatch() {
local PATTERN=$1
s $PATTERN always -l
}
# recursive search (filenames) - find file
f() {
find -L . -not \(-name .svn -a -prune \) \(-type f -or -type d \) -name "$1"
}
- 1. Eclipse에서 작업 복사본의 SVN 변경 목록
- 2. SVN 작업 복사본의 iPhone 리소스를 교환하십시오.
- 3. 작업 복사본의 루트 복원
- 4. SVN 작업 복사본의 로컬 버전 제어 경험이 있습니까?
- 5. SVN 작업 복사본의 버전을 다운 그레이드 할 수 있습니까?
- 6. 재귀 svn propset
- 7. CruiseControl : 변경되었지만 작업 복사본의 타임 스탬프는 변경되지 않았습니다.
- 8. SVN 작업 복사본의 모든 디렉토리가 동일한 저장소 루트를 가리키고 있다는 것을 어떻게 알 수 있습니까?
- 9. 빠른 JavaScript 배열 작업
- 10. svn + ssh와 함께 작업
- 11. SVN 업스트림과의 동기화 작업
- 12. Subversion 저장소 작업 복사본의 구조에 대한 모범 사례?
- 13. hg rename은 작업 복사본의 원래 폴더를 삭제하지 않습니다.
- 14. Mercurial : 삭제 후 작업 복사본의 일부를 되돌리는 방법
- 15. git-svn 작업 : 적절한 작업 공정
- 16. 위젯에 사용자 지정 빠른 작업
- 17. RT 리눅스에서의 빠른 주기적 작업
- 18. 빠른 작업 : 다시 만들거나 지우시겠습니까?
- 19. SVN 모든 외부 재귀 적으로 제거/삭제
- 20. svn : ignore'd 파일의 재귀 목록 가져 오기
- 21. SVN은 비 재귀 적으로 폴더 복사를 지원합니까?
- 22. Windows 콘솔에서 "svn add"를 재귀 적으로 사용하는 방법?
- 23. 모든 svn : externals의 서버 URL의 이름을 바꾸는 빠른 방법은 무엇입니까?
- 24. SvnClient를 사용하여 더 빠른 svn 고양이 구현
- 25. 자동으로 SVN URL을 svn info에 입력하십시오.
- 26. C# Stackoverflow 재귀 디렉터리 삭제 작업
- 27. SVN 작업 복사본 내에서 주어진 SVN URL이있는 파일 찾기
- 28. Hudson에서 SVN 자격 증명을 사용하여 사용자 정의 SVN 작업 수행
- 29. git 작업 영역과 svn 작업 영역 모두의 작업 영역을 가질 수 있습니까?
- 30. 빠른 보고서 매수
Frentos가 설명했듯이 맨 페이지를 참조하여 시간을 들여서 질문에 쉽게 대답 할 수있었습니다. – freespace
여유 공간, 왜 "쉬운"질문에 답하지 않으시겠습니까? 맞다면 기꺼이 대답을 받아 들일 것입니다. – Constantin