'모든' 디렉토리이며 서브디렉토리가 그렙 재귀적으로 어떻게 합니까?
find . | xargs grep "texthere" *
grep -r "texthere" .
첫 번째 매개변수입니다 정규식이 나타내는 반면, 두 번째 seabreeze 디렉토리에는 검색할 수 있어야 하는 것을 발견했다. 이 경우 '.' 는 현재 디렉터리입니다.
참고: 이 방법은 GNU 그렙 및 일부 플랫폼에서는 그렙 반대로 기존 구축 등 구체적인 활용 방안은 solris GNU 합니다. 이것은 '대한' 함장님이요 그레프 solris
알고 있는 경우, 또 다른 방법은 연장또는 패턴을 사용하여 파일 싶은 '포함시키십시오' 옵션:
grep -r --include "*.txt" texthere .
파일 '을 (를)' 제외할지 제외하려면 하라님의 수도 있습니다.
자주 경우 코드를 통해 검색, [Ag (은 서처)] (https://github.com/ggreer/the_silver_searcher) 에 비해 훨씬 빠른 검색을 위해 # 39 는 그렙, that& 사용자정의된 코드. 예를 들어, it& # 39 에 의해 자동으로 파일 및 디렉터리 나열) ',' 이기티뇨레 는 재귀 기본값과 don& 유지할 수 있도록 옵션을 반군지역 # 39, 같은 번거로운 제외할지 그렙 또는 찾을 수 없다.
내가 지금 항상 flfile. (심지어 Windows 와 고우 - Windows 에서 Gnu).
grep --include="*.xxx" -nRHI "my Text to grep" *
그 다음 옵션을 포함합니다.
--include=PATTERN
>. 패턴 매칭 '의 재귀 디렉터리만 검색: 파일'.
-n, --line-number
>. 각 행의 안에서 함께 출력입니다 접두어입니다 줄 번호 입력 파일.
(참고: 포클리프 는 [[주석] [3] 해당 '-n' 하면 성능 많이유 그러하매 할 수 있도록 하는 건너뛰려면 옵션인지
-R, -r, --recursive
>. 모든 파일을 읽을 수 있는 각 디렉터리인 재귀적으로. 이 재귀 '옵션을' -d 에 해당하는 것이다.
-H, --with-filename
>. 각 인쇄인쇄 파일_이름 match).
-I
>. 일치하는 데이터를 처리하는 것처럼 이진 파일을 포함하지 않았다. 이 '=' 옵션을 이진 파일 해당되어서는 없이 해당하는 액수다.
& # 39, & # 39 'i' 쉐퍼드도 추가할 수 있습니다. 대소문자를 구분하지 않는 경우 ('누르시아'), 내가 원하는 결과를 얻을 수 있습니다.
갈 수 없어.
/home/vonc/gitpoc/passenger/gitlist/github #grep --include="*.php" -nRHI "hidden" *
src/GitList/Application.php:43: 'git.hidden' => $config->get('git', 'hidden') ? $config->get('git', 'hidden') : array(),
src/GitList/Provider/GitServiceProvider.php:21: $options['hidden'] = $app['git.hidden'];
tests/InterfaceTest.php:32: $options['hidden'] = array(self::$tmpdir . '/hiddenrepo');
vendor/klaussilveira/gitter/lib/Gitter/Client.php:20: protected $hidden;
vendor/klaussilveira/gitter/lib/Gitter/Client.php:170: * Get hidden repository list
vendor/klaussilveira/gitter/lib/Gitter/Client.php:176: return $this->hidden;
...
[3]: # comment95804259_14871646 노르드리치 https://stackoverflow.com/questions/1987926/how-do-i-grep-recursively/14871646? = 1
'R' 은 있지만, 특히 그렙 - 사용 환경에 큰 폴더용.
여기에 좀 더 현실적인 사용을 위해 사용하는 구문을 글 로빙 구문 ('*'):
grep "texthere" **/*.txt
어떤 특정 파일을 선택한 미디어만을 그렙 패턴으로 패턴. 배시 셸을 작동하잖아 에서 지원되는 등 +4 또는 츠시.
이 기능을 활성화하십시오 실행하십시오: '-' s 글로브스타 쇼프트.
참고: <, https://stackoverflow.com/q/16956810/55075>.
깃 (git) 에서 프로젝트를 위한 버전 관리, 활용:
git grep "pattern"
이는 훨씬 더 빠릅니다.
대규모 프로젝트, 가장 빠른 그레핑 도구는 '립그레프' 그렙 있는 파일을 반복해서 기본적으로 다음과 같습니다.
rg "pattern" .
이름 '을 (를)' 길 '' 파일을 찾을 수 있는 'string' 아래 사용하여 특정 명령을 반복해서 "에 대한 bsbab-unix ':
find . | xargs grep "searched-string"
"에 대한 리눅스 ':
grep -r "searched-string" .
파일을 찾기 '에' 유닉스 서버
find . -type f -name file_name
파일을 찾기 리눅스 서버
find . -name file_name
심볼릭 링크가 아니라, 실제 디렉터리용 따라와야지 할 경우에만
grep -r "thingToBeFound" directory
물론 실제 디렉토리에 심볼릭 링크를 따라 스케쳐내 (주의해야 무한 반복)
grep -R "thing to be found" directory
이후, re trying to # 39 you& 그렙 재귀적으로 다음과 같은 옵션을 너회들 유용할 수도 있습니다.
-H: outputs the filename with the line
-n: outputs the line number in the file
그래서 현재 디렉토리에 있는 모든 파일을 찾는 경우 또는 모든 서브디렉토리가 및 다스 베이더 포착하십시오 파일_이름 및 하지 않겠지만, 이 명령을 따를 줄 번호, 반복이 다운로드하려는 약간만이라도 심볼릭 링크
grep -rnH "Darth Vader" .
Cat 의 디렉토리에는 스케쳐내 단어의 모든 언급을 찾을 수
/home/adam/Desktop/TomAndJerry
/home/adam/Desktop/WorldDominationPlot
그리고 이 모든 인스턴스에서는 파일_이름 캡처하려는 아닌 줄 번호, 문자열 " cats" 따를 경우, 진실이며당신이 다운로드하려는 반복, 그 다음 중 하나를 실행하십시오 심볼릭 링크를 찾을 수 있습니다.
grep -RH "cats" ../TomAndJerry #relative directory
grep -RH "cats" /home/adam/Desktop/TomAndJerry #absolute directory
출처:
실행 중인 " help" 그렙 -;;
심볼릭 링크, 누구나 간단한 소개 및 그들에게 이 대답이 너무 판독값 by my 참조. https://www.nixtutor.com/freebsd/understanding-symbolic-links/
지금 내가 좋아하는 방법으로 ag 는 github.com/ggreer/the_silver_searcher. # 39 에 기본적으로 it& 똑같은 tpc. ack 단 몇 차례 더 최적화.
ryan@3G08$ sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
3
ryan@3G08$ time grep -r "hey ya" .
real 0m9.458s
user 0m0.368s
sys 0m3.788s
ryan@3G08:$ sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
3
ryan@3G08$ time ack-grep "hey ya" .
real 0m6.296s
user 0m0.716s
sys 0m1.056s
ryan@3G08$ sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
3
ryan@3G08$ time ag "hey ya" .
real 0m5.641s
user 0m0.356s
sys 0m3.444s
ryan@3G08$ time ag "hey ya" . #test without first clearing cache
real 0m0.154s
user 0m0.224s
sys 0m0.172s
특정 콘텐츠를 찾고 있다면 모든 파일의 디렉토리 구조를 사용할 수 있습니다 '찾기' 에서 도달거리가 너희는너희가 선택해제합니다 총력을 기울이고 있다.
find -type f -exec grep -l "texthere" {} +
참고로 '-l' (다운케이스 L) 를 포함하는 텍스트 파일 이름을 보여줍니다. 대신 경우 인쇄하려면 분리하십시오 경기를 할 수 있다. '또는' 를 사용하여 파일을 내려받습니다 h 함께 한국팀을 응원했다. 모두가 다른 대안을 다음과 같습니다.
find -type f -exec grep -Hn "texthere" {} +
여기서 '-n' 인쇄 줄 번호.
이것은 내 협력했습니다 방정식입니다 있는 대표적인 내 현재 시스템 (windows 7 에서 bash 깃 (git):
find ./ -type f -iname "*.cs" -print0 | xargs -0 grep "content pattern"
난 항상 잊지 - 0 - print0 및 경로를 통한 독창적이다.
편집: 이제 내 기본 도구는 대신 립그레프: https://github.com/BurntSushi/ripgrep/releases. # 39 더 빠르고, s 는 정말 it& 설정값으로 (recursive 기본적으로 같은). 내 원래 사용하지만 동일한 같이 오토메이티드 립그레프: 'rg - g " *.cs"; ", 컨텐츠 pattern". '
2018년, '립그레프 사용할 방법이 있기 때문에' 보다 '또는' 서처 실버 대안 중.
다음은 디렉터리입니다 336 함께 첫 번째 서브디렉토리가:
% find . -maxdepth 1 -type d | wc -l
336
% time rg -w aggs -g '*.py'
...
rg -w aggs -g '*.py' 1.24s user 2.23s system 283% cpu 1.222 total
% time ag -w aggs -G '.*py$'
...
ag -w aggs -G '.*py$' 2.71s user 1.55s system 116% cpu 3.651 total
% time find ./ -type f -name '*.py' | xargs grep -w aggs
...
find ./ -type f -name '*.py' 1.34s user 5.68s system 32% cpu 21.329 total
xargs grep -w aggs 6.65s user 0.49s system 32% cpu 22.164 total
Osx 의 설치, 이 '립그레프': '설치 립그레프 브루 (brew)'. 이 곳이 '실버 서처': '설치 the_silver_searcher 브루 (brew)'.
'그렙 boot-r " texthere"; . ' (표시문 기간 끝에)
(^ 크레딧보다: https://stackoverflow.com/a/1987928/1438029)
'그렙 boot-r " texthere"; / ' (재귀적으로 그렙 모든 디렉토리이며 서브디렉토리가)
'그렙 boot-r " texthere"; . ' (재귀적으로 그렙 이러한 디렉토리이며 서브디렉토리가)
>. '' 패턴화합니다 그렙 [옵션] [절실해졌습니다.] >. >. [옵션] >. >. '반복' ki-en-ĝir, - r - >. >. 모든 파일을 읽을 수 있는 각 디렉터리인 재귀적으로. >. >. D 옵션을 디렉터리용 재귀 '=' 또는 '이' 재귀 해당하는 액수다. >. >. http://linuxcommand.org/man_pages/grep1.html
'-' $ 도움말에서는 그렙
$ grep --help |grep recursive
-r, --recursive like --directories=recurse
-R, --dereference-recursive
'승인' (http://beyondgrep.com/)
사용 가능한 목록은 플래그:
grep --help
, 현재 디렉토리에 있는 모든 경기를 되돌려줍니다 regexp 테스테레 .해당 줄 번호:
grep -rn "texthere" .
, 테스테레 되돌려줍니다 시작하여 모든 경기에 출전하였고, 루트 디렉토리 관련 줄 번호 및 대소문자 무시.
grep -rni "texthere" /