하위 디렉터리 확인

하위 디렉터리 확인

A) 다음 코드를 사용하여 파일의 수정 날짜를 가져옵니다. 그러나 이는 하위 디렉터리도 선택하므로 오류를 반환합니다. 이 문제를 어떻게 해결할 수 있습니까?

for file in $1/*; do
        echo `stat -c %y $file | cut -d ' ' -f1`
done

$1은 내가 전달한 디렉토리입니다.

B) 다른 방법이 있나요? 디렉터리와 날짜 범위를 명령줄 인수로 전달하고 해당 날짜 범위 내의 파일과 수정 날짜를 나열해야 합니다. 예를 들어 output.sh /home/user/desktop 2014-10-07 2014-11-17해당 시간 간격 동안 수정된 해당 디렉터리의 모든 파일을 나열해야 합니다.

답변1

$11000분 이상, 2000분 이상 된 디렉터리에서 모든 파일을 찾으려면 다음을 수행하세요 .

find "$1" -maxdepth 1 -type f -mmin +1000 -mmin -2000

하위 디렉터리를 재귀적으로 검색하려면 를 제거하세요 -maxdepth 1.

분 대신 정수로 시간을 지정하려면 다음을 사용하십시오 -mtime.

find . -maxdepth 1 -type f -mtime +20 -mtime -26

디렉터리를 건너뛸 때 파일 반복

-d디렉터리를 테스트하고 건너뛰는 데 사용할 수 있습니다 continue.

for file in "$1"/*; do
    [ -d "$file" ] && continue
    echo $(stat -c %y $file | cut -d ' ' -f1)
done

관련 정보