입력 날짜 이전에 생성된 디렉터리의 모든 파일 이름을 가져옵니다.

입력 날짜 이전에 생성된 디렉터리의 모든 파일 이름을 가져옵니다.

많은 파일이 포함된 디렉토리가 있습니다. 명령의 출력은 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일 이전에 작성됨'과 같은 의미입니다.

관련 정보