특정 타임스탬프에 생성된 UNIX 파일을 표시하는 쿼리

특정 타임스탬프에 생성된 UNIX 파일을 표시하는 쿼리

특정 시간에 생성된 모든 파일을 나열하고 싶습니다.

(예시 : 해당 시간에 생성된 파일 : 11월 13일 09:09)

-rw-r--r-- 1 bitt1 cerillio     43268 Nov 13 09:02 sendEsbUpdateEvents.log
-rw-r--r-- 1 bitt1 cerillio    333420 Nov 13 09:09 jobwatch_bittest1.log
-rw-r--r-- 1 bitt1 cerillio   6113535 Nov 13 09:09 CDRExtract.log
-rw-r--r-- 1 bitt1 cerillio     10268 Nov 13 09:09 cdrextract_111309095100_26224.log
-rw-r--r-- 1 bitt1 cerillio 322398684 Nov 13 09:10 export_docs_log.log
-rw-r--r-- 1 bitt1 cerillio   2911940 Nov 13 09:14 sendBillNotifications.log

그렇다면 단일 라이너 쿼리를 알려주십시오.

답변1

GNU 또는 FreeBSD 사용 find:

find . -newermt '2014-11-13 9:09' ! -newermt '2014-11-13 9:10'

9:09:00.000000000에 마지막으로 수정된 파일이 아닌 9:10:00.000000000에 마지막으로 수정된 파일을 보고하지만 그 사이의 나머지 60,000,000,000나노초에는 문제가 없습니다.

GNU를 사용하여 find파일 및 디렉터리 이름에 개행 문자가 포함되어 있지 않다고 가정하면 다음을 수행할 수도 있습니다.

find . -printf '%T+/%p\n' | grep -Po '^2014-11-13\+09:09.*?/\K.*'

(또는 개행 문자가 포함될 수 있는 경우:

find . -printf '%T+/%p\0' | grep -Pzo '^2014-11-13\+09:09.*?/\K.*' | tr \\0 \\n

관련 정보