수정된 날짜별로 정렬된 문자열 및 목록 이름이 포함된 파일 검색

수정된 날짜별로 정렬된 문자열 및 목록 이름이 포함된 파일 검색

이 명령을 사용하여 특정 문자열이 포함된 디렉터리의 모든 파일을 찾습니다.

grep -lir "string" path_to directory

grep -lir "users" /var/www/mysite

이 명령은 "users" 문자열을 포함하는 지정된 디렉터리의 모든 파일을 표시합니다. 그러나 수정된 ​​날짜를 기준으로 최신 항목부터 오래된 항목 순으로 정렬하고 싶습니다.

도움이 필요하세요?

답변1

먼저 해당 옵션을 사용한 Z다음 다른 쪽 끝에 -0 옵션이 있는 xargs는 파일 이름을 캡처하고 계산하고 타이밍 정보를 정렬 및 제거하여 정렬된 최신 첫 번째 목록을 표시합니다.

 grep -Zlir users /var/www/mysite | xargs -0 -r stat --format='%Y+%n' | sort -t+ -k 1,1nr | cut -d+ -f2-

답변2

그리고 zsh:

print -rl ./**/*(.De_'grep -qi "string" $REPLY'_om)

이는 다음을 사용합니다.글로벌 예선.포함 된 일반 파일( ) 만 선택한 다음 string(즉, 표현식 e_'grep -qi "string" $REPLY'_에서 반환된 전역 결과 true) om이를 정렬하여 최종 결과를 정렬합니다 mtime(최신 항목부터). D숨겨진 파일을 검색하고 싶지 않다면 삭제하세요.

관련 정보