2013-08-29 3 views
2

첫 번째 compund Linux 쿼리를 작성하고 지식의 부족한 점을 찾으려고합니다.복합 Linux 쿼리 작성에 도움이 필요합니다.

아이디어는 .doc 또는 .txt 일 수있는 모든 파일을 찾고 텍스트 광대의 내용을 검색하는 것입니다.

그래서 나는 루트에서 검색하는 것으로 시작했습니다.

$find/

그런 다음 파일 이름에 와일드 카드를 추가했습니다. '

$find/-name '*.doc'...uhh oh 

첫 번째 질문. 또는 어떻게 지정합니까? 파이프와 함께 | 또는 이중 파이프 || 또는...? 이 같은 -name 매개 변수를 반복해야합니까?

$find/-name '*.doc' || -name '*.txt' 

둘째? 후/전에 문자열에 대한 grep을 추가합니까?

$find/-name '*.doc' || -name '*.txt' grep -H 'cat' {} \ 

마지막으로 SQLFiddle과 같은 구문/유효성을 검사 할 수있는 곳이 있습니까?

TIA는

+0

명령 및 인수에 대해 자세히 알아 보려면 맨 페이지 ('man ', 예 : 'man find'). –

답변

3

는 '또는'발견에 당신은 다시 생각 찾기 유형을 지정해야 -o

입니다. 그래서 같은 것을 :

grep 'whatever' `find/-name *.doc -o -name *.txt` 

here

1

당신이 뭔가를 원하는 :

find/\(-name \*.doc -o -name \*.txt \) -exec grep clown {} \; -print 

지정하거나 \(\)-o와 함께, 당신은 -exec에서 grep를 실행하고 bash 쉘의 구문의 유효성을 검사 할 수 있습니다.

0
을 찾을 수있는 합리적으로 좋은 가이드가있다 : 당신은 단순히 너무 오래 당신이 역 따옴표에서 찾기 명령을 싸는으로, 전면에 그렙 명령을 넣을 수 있습니다

find/-name *.doc -o -name *.txt 

시도 :

(find ./ -name "*.txt" -print0 2>/dev/null ; find ./ -name "*.doc" -print0 2>/dev/null) | xargs -0 grep clown 
관련 문제