2017-12-14 19 views
0

루프없이 x 일보다 오래된 파일을 찾지 않고 삭제하려합니다. 나는 당신이 X의 타임 스탬프와 임시 파일을 일 전 만들 수있는이찾기 유닉스를 사용하지 않고 루프에서 x 일보다 오래된 파일을 제거합니다.

+4

왜 "find'가 없습니까?" 이 사용 사례는 꽤 표준 도구입니다. – tripleee

+0

['man stat'] (http://www.polarhome.com/service/man/?qf=stat&tf=2&of=AIX&sf=) – tripleee

답변

1

에 MTIME을 통합하려면 어떻게

for f in /path/tomy/directory/*.rpt 
do 
    # if file, delete it 
    [ -f "$f" ] && rm "$f" 
done 

을 다음 for 루프 내에서 비교 :이 스크립트를 사용하고 모두 삭제하기 각 파일의 타임 스탬프는 해당 파일을 삭제할지 여부를 결정합니다. 당신은 출력에 만족하면

n=60 # number of days 
ref="/tmp/$$.tmp" # temporary filename 

touch -t $(date -d "-$n days" '+%Y%m%d%H%M.%S') "$ref" 

for f in /path/tomy/directory/*.rpt; do 
    [[ -f $f && $ref -nt $f ]] && echo rm "$f" 
done 

rm "$ref" 

, rm 전에 echo를 제거합니다.

+0

감사합니다. 분명히 나는 ​​AIX에서'-d'를 사용할 수 없다. – ErrorNotFoundException

+0

10 일 전의 날짜 인'$ (date -d "- $ n days" '+ % Y % m % d % H % M. % S')'를'201712040000.00'으로 대체하십시오. – anubhava