정렬 - 마지막 수정 날짜를 기준으로 파일을 나열하지만 최신 날짜가 동일한 파일만 표시합니다.

정렬 - 마지막 수정 날짜를 기준으로 파일을 나열하지만 최신 날짜가 동일한 파일만 표시합니다.

특정 수정 날짜에 대한 가장 최근 파일 라이브러리를 찾고 최신 수정 날짜를 기준으로 목록 라이브러리를 정렬하고 싶다고 가정해 보겠습니다.

예를 들어

find /path/to/files -mtime -15 | xargs -d '\n' -r ls -t

산출:참고: 수정된 날짜를 표시하기 위해 파일 이름에 수정된 날짜만 입력하겠습니다.

/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat
/path/to/file_AAA_2018Mar28.dat
/path/to/file_BBB_2018Mar26.dat

그런 다음 수정 날짜는 최신이지만 날짜는 같은 파일을 가져오고 싶습니다.

예를 들어 최종 출력은 다음과 같습니다.이는 첫 번째 출력 결과에서 가져온 것입니다.

/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat

답변1

이렇게 하면 됩니다:

FIND_PATH='/path/to/files'; find "$FIND_PATH" -newermt $(find "$FIND_PATH" -printf '%TY-%Tm-%Td\n' | sort | tail -1)

"내부"는 find모든 수정 날짜를 형식으로 인쇄 yyyy-mm-dd하고 최신 날짜( | sort | tail -1)만 인쇄합니다.

"외부"는 find이 날짜의 파일만 찾습니다.

관련 정보