ls -al 후 나열된 파일들 특정시간별 뽑아오기
# ls -al
-rw-r--r-- 1 apache apache 6379 11¿ù 23 19:32 12589723543174.gif
-rw-r--r-- 1 apache apache 6379 11¿ù 23 19:33 1258972414547.gif
-rw-r--r-- 1 apache apache 6379 11¿ù 23 19:35 12589725051368.gif
-rw-r--r-- 1 apache apache 5892 11¿ù 23 19:35 12589725051368_s.gif
-rw-r--r-- 1 apache apache 6379 11¿ù 23 19:36 12589726084355.gif
-rw-r--r-- 1 apache apache 5892 11¿ù 23 19:36 12589726084355_s.gif
-rw-r--r-- 1 apache apache 6379 11¿ù 23 19:40 12589728563645.gif
-rw-r--r-- 1 apache apache 5892 11¿ù 23 19:40 12589728563645_s.gif
-rw-r--r-- 1 apache apache 6379 11¿ù 26 13:55 12592113097356.gif
-rw-r--r-- 1 apache apache 5892 11¿ù 26 13:55 12592113097356_s.gif ------- 1
-rw-r--r-- 1 apache apache 47980 12¿ù 15 13:56 1260852988119.jpg
-rw-r--r-- 1 apache apache 12478 12¿ù 15 13:56 1260852988119_s.jpg
-rw-r--r-- 1 apache apache 26508 12¿ù 15 13:57 12608530723087.jpg
-rw-r--r-- 1 apache apache 6166 12¿ù 15 13:57 12608530723087_s.jpg
-rw-r--r-- 1 apache apache 26508 12¿ù 15 13:59 12608531699557.jpg
-rw-r--r-- 1 apache apache 6166 12¿ù 15 13:59 12608531699557_s.jpg
-rw-r--r-- 1 apache apache 26508 12¿ù 15 14:00 12608532512575.jpg
-rw-r--r-- 1 apache apache 6166 12¿ù 15 14:00 12608532512575_s.jpg
-rw-r--r-- 1 apache apache 17471 1¿ù 12 15:59 12632795665299.jpg -------- 3
-rw-r--r-- 1 apache apache 3929 1¿ù 12 15:59 12632795665299_s.jpg
글자깨진건 "월" 이구요
여기서 특정 월+일별 파일은 뽑아오겟는데요 위에 1부터 3까지 저런 범위를 지정하고
뽑아올려면 어떻게 해야하는지요 그리고 시간별로도 뽑고싶은데 범위지정도 안되고해서 어렵습니다.
또한 저 화면에서 파일명 sort는 되겟지만 시간별 sort도 가능한지 궁금하군요
일단 시간대별 sort에 대해서
리눅스에 있는 3가지 시간대중에서 지금 ls에서 결과로 나온 시간대로 정렬을 한다는 말씀인가요?
default로 ls에서는 mtime이 나오게되어있으므로
옵션으로 t 를 주면 파일명이 아니라 시간대별로 정렬되어서 나옵니다
ls -lt
이렇게
ls -ltr 로 시간 오름차순으로 정렬되게 한뒤
이것을 Perl의 정규식과 범위연산자로 특정 범위를 뽑아내면 됩니다.
참고 http://kldp.org/node/100909#comment-469191
ls 결과가 한글로케일 환경이라도 정규식부분만 적절히 바꾸면 되겠죠?
아 perl로 정렬하는 방법도 있었네요
전 awk나 sed를 조합하는 방법으로 막 생각해보다가 어려워서 일단 시간대별 정리만 댓글을 달았었는데
perl도 사용할수 있군요. 죄송한데 perl의 기본적인 사용방법이 나와있는 wiki가 있을까요?
저도 perl을 좋아하긴 하지만 awk를 쓴다면..
저도 perl을 좋아하긴 하지만
날짜+시간 은 숫자가 작은 편이니까 awk를 사용한다면 아래와 같은 방법도 가능할 것 같습니다.
위의 코드에서는 2010년 1월에 생성된/수정된 파일을 추려줍니다.
다만 위의 코드는 ls에서 굳이 정렬을 하지 않아도 동작하고..
(정렬이 되어 있다면 방대한 자료에 대해서는 if문을 중첩되게 사용하고 범위가
벗어 나면 더이상 검색하지 않도록 하면 조금더 최적화 되겠지요..)
대충 생각한 거라 정확한지는 모르겠군요..
---
아.. 다시 확인해보니 gsub()를 사용하지 않아도 비교에는 지장이 없군요. ^^;
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
좋은 답변들
좋은 답변들 감사합니다.
덕분에 많은 도움이 되었습니다.