bash 스크립트 하나만 부탁드려요...

freezm7의 이미지

현재 디렉토리 밑에 a 와 b 라는 디렉토리가 있습니다.

이 두 디렉토리를 통틀어서 가장 파일 갱신 시간이 최근인 파일의 갱신 시간을 알아보려고 하는데요...

스크립트 책은 한번 읽어봤는데, (오라일리 책이요)

감이 안 오네요...

좀 부탁드릴께요.

익명사용자의 이미지

find . -type f -mtime 하셔서 알아보면 될것 같은데요..

Quote:

-atime n
File was last accessed n*24 hours ago.

-cmin n
File's status was last changed n minutes ago.
-mmin n
File's data was last modified n minutes ago.
-mtime n
File's data was last modified n*24 hours ago.

위 명령어로도..

ls -lt 하시면 시간순서대로 나와요

-ltr 하시면 역순(reverse order로..)

doodoo의 이미지

..

slc1의 이미지

find의 기능을 이용하면 되겠네요.

find ./a ./b -printf "%TY.%Tm.%Td.%TH:%TM:%TS %p\n" | sort | tail -1
-- output --
2007.02.22.10:18:03 filename

%TY - modification time 년도
%Tm - modification time 월
.
.
.
%TS - modification time 초
%p - 파일 이름.

위의 printf가 확장 기능인지는 잘 모르겠네요..
printf 이하의 내용이 gnu 확장 기능이라면 gnu find에서만 동작하겠네요.

find manpage에 printf 구문에 대한 설명이 자세히 나와있군요..

slc1의 이미지

역시나 gnu 확장 기능인 것 같네요..
타 OS에는 없는..

find ./a ./b -type f -printf "%TY.%Tm.%Td.%TH:%TM:%TS %p\n" | sort | tail -1

gnu find에서만 됩니다.