우분투에서 컨텐츠로 검색하는 방법


8

콘텐츠로 전체 서버를 검색하고 싶습니다. (텍스트 파일)

grep -rl "text here"를 시도하면 정지됩니다.

어떻게 하시겠습니까?

그리고 보통 얼마나 걸립니까?

답변:


17

grep명령을 사용할 때 파일을 지정해야합니다 . 사용중인 명령으로 표준 입력을 검색하고 있습니다 ...

시도하십시오 grep -r "test" directory.


7
find / -name "*.txt" -exec grep "text here" {} \; -print 2>/dev/null

인간에게 다음과 같이 말할 수 있습니다.

  1. 찾기
  2. /에서 시작
  3. * .txt라는 모든 파일에서 (따옴표는 셸 해석을 무시 함)
  4. 결과 적중으로 다음을 수행하십시오.
  5. grep "test here"
  6. {} 파일에서
  7. 실행 끝 (\;) 이스케이프 처리 종료
  8. 일치하는 파일을 인쇄하십시오
  9. 싱크에서 오류 메시지를 리디렉션하십시오 (루트가 아니기 때문에 sudo 일 수 있습니다).

"find : 'grep'에 대한 인수가 누락되었습니다"
webnat0

여기서 작동합니다. "test here"를 어떻게 대체 했습니까?
Alain Pannetier

1
@ 대윤 : 백 슬래시는 하나뿐입니다.
추후 공지가있을 때까지 일시 중지되었습니다.

1
@ 데니스. 모국어에 따라 다릅니다. 일본과 한국에는 백 슬래시가 엔 부호 또는 sign 부호 (0x5c)로 렌더링되는 여러 문자 세트가 있습니다. 또한 u + 20E5를 살펴보십시오. 과거에는 실제 슬래시와 거짓 (아스키 계획에서 변환 된 다른 동등한 유니 코드)을 슬래시와 혼합하여 PC의 전체 디스크 (IIS에 루트가있는 곳)를 탐색 할 수있는 IIS의 여러 가지 익스플로잇이있었습니다. 하나는 역 고상 오버레이를 사용합니다.
Alain Pannetier

0

검색하려는 파일 종류를 지정하는 것을 잊었습니다.
루트로 로그인하십시오.

cd /
grep -rl "text here" *  > /tmp/match.txt

시간이 오래 걸리며 나중에 /tmp/match.txt를 확인하여 결과를 수집 할 수 있습니다


0

다음 명령은 현재 작업 디렉토리 및 모든 하위 디렉토리에서 .txt로 끝나는 모든 파일을 검색합니다.

find . -type f -name '*.txt' -exec grep -Hn "text here" {} \;

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.