많은 파일이 포함된 디렉토리가 있습니다. 명령의 출력은 ls
다음과 같습니다.
-rw-r--r-- 1 nobody nogroup 427494 May 26 13:59 14_20150526065238928590_102.txt
-rw-r--r-- 1 nobody nogroup 2113592 May 26 14:00 14_20150526065238928590_105.txt
-rw-r--r-- 1 nobody nogroup 429947 May 26 14:00 14_20150526065238928590_110.txt
-rw-r--r-- 1 nobody nogroup 453831 May 27 14:00 14_20150526065238928590_112.txt
-rw-r--r-- 1 nobody nogroup 551023 May 27 14:01 14_20150526065238928590_118.txt
-rw-r--r-- 1 nobody nogroup 60083 May 27 14:01 14_20150526065238928590_119.txt
-rw-r--r-- 1 nobody nogroup 632324 May 28 03:38 14_20150526065238928590_160.txt
-rw-r--r-- 1 nobody nogroup 735624 May 28 03:38 14_20150526065238928590_161.txt
-rw-r--r-- 1 nobody nogroup 2707507 May 28 03:40 14_20150526065238928590_162.txt
위 목록에서 입력 날짜 이전에 생성된 파일 이름을 검색하고 싶습니다.
예: 내가 입력한 날짜는 20150528이고 결과를 원합니다: (2015년 5월 28일 이전에 생성됨)
14_20150526065238928590_102.txt
14_20150526065238928590_105.txt
14_20150526065238928590_110.txt
14_20150526065238928590_112.txt
14_20150526065238928590_118.txt
14_20150526065238928590_119.txt
이 목표를 어떻게 달성할 수 있나요?
답변1
현재 디렉터리와 2015년 5월 28일 이전에 마지막으로 수정된 하위 디렉터리에서 모든 파일을 찾습니다.
find . ! -newermt 20150527
현재 디렉터리의 파일만 원하는 경우아니요하위 디렉터리의 경우 다음을 사용하세요.
find . -maxdepth 1 ! -newermt 20150527
어떻게 작동하나요?
find
이것은 파일 검색에 가장 유용한 Unix 명령 중 하나입니다.
.
이는
find
현재 디렉터리에서 검색을 시작하라는 의미입니다. 원하는 디렉터리로 바꿀 수 있습니다.!
이는 논리적이지만 그렇지 않습니다. 다음 테스트를 반대로 합니다.
-newermt 20150527
2015-05-27 이후 수정된 파일을 대상으로 진행된 테스트입니다. 위의 이유로
!
이 테스트는 역순으로 파일을 찾습니다.아니요2015-05-27에 업데이트되었습니다.알아채다"아니요2015년 5월 27일 업데이트'는 '2015년 5월 28일 이전에 작성됨'과 같은 의미입니다.