10개의 하위 디렉터리가 있는 폴더 구조가 있는 경우 각 하위 폴더에 "잘못된 폴더 구조" 파일 버전(이전 또는 최신)이 포함될 가능성이 있습니다.
찾기를 사용하여 특정 날짜 범위 내에 수정된 모든 파일을 찾고 싶습니다. 그것은 시간-60이다
하지만 가장 최근에 수정된 파일(경로 및 파일 이름)만 표시하고 싶습니다. (버전 및 날짜 스탬프는 보너스이지만 이를 표시하도록 변경할 수 있습니다.) 표시하고 싶은 유일한 파일 이름
즉, 1234.exe 파일은 Dir1, Dir2, Dir3에 존재할 수 있지만 Dir2의 수정 시간은 dir1, Dir3의 수정 시간보다 최신입니다.
모든 결과는 나에게 엇갈린 감정을 안겨주었습니다. 나는 사용해왔다
| sed | awk | 정렬 및 헤드도 시도했습니다.
가장 최근의 경우. 목록은 상당히 클 수 있습니다(100~200개 정도).
답변1
다음과 같이 할 수 있습니다. 다시 말하지만, 어떤 사람들은 나에게 동의하지 않을 수도 있지만 그것이 바로 내가 하는 방식이다.
files=()
while IFS= read -r
do files+=("$REPLY"); done < <(find . -type f -mtime -60 -printf '%P\n')
for f in "${files[@]}"; do [[ $f -nt $latest ]] && latest=$f; done
printf 'My latest file is: %s ' "$latest"