grep에서 특정 파일을 선택하는 방법

grep에서 특정 파일을 선택하는 방법

그래서. 같은 이름의 파일이 포함된 디렉터리에서 문자열을 검색해야 합니다(몇 시간 제외).

  • 파일명_01_WORD-1.log
  • 파일명_02_WORD-1.log
  • 파일명_03_WORD-1.log
  • 파일명_04_WORD-1.log
  • 파일명_05_WORD-1.log
  • ...
  • 파일명_23_WORD-1.log
  • 파일명_24_WORD-1.log

나는 18시간에서 23시간 사이의 몇 시간짜리 파일에서 "ABC"라는 단어를 찾으려고 합니다.

시도했지만 grep 'ABC' filename_[18-19-20-21-22-23]*WORD*.log파일 05에서 23까지 grep으로 확장되는데 이유를 모르겠습니다.

이 목표를 어떻게 달성할 수 있나요?

답변1

대신 중괄호 확장을 사용하세요.

grep ABC filename_{18,19,20,21,22,23}_WORD*.log

또는 더 컴팩트

grep ABC filename_{18..23}_WORD*.log

작성 방법에 따르면 셸에서 로 시작 하고 그 뒤에 세트 filename_중 하나 와 일치 하는 단일 문자 가 옵니다 1. , 그 뒤에 문자 등이 옵니다.819202122230123WORD

관련 정보