OS/linux
[명령어] 파일 생성일 기준으로 이전 파일 지우기 - 리눅스 쉘 명령
정선생
2021. 11. 26. 06:21
반응형
로그파일이나 임시파일들이 계속 쌓일때 생성일기준으로 과거 데이터를 지우고 싶을때 가 종종있다.
이럴때 유용한게 ls 에서 날짜 포맷팅 하고 awk 에서 필터링후 xargs 로 삭제 명령의 인자로 보내는 형태로 처리한다.
예시
나 같은 경우는 1달전 로그를 지워야 하는 패턴을 많이 쓰게 되는데...
예를 들어 2021년 1월 이전데이터를 다 삭제 하고 싶다면 아래와 같이 명령어를 날리면 된다.
# 2021년 1월 이전 데이터 제거
ls -l --time-style="+%Y%m" | awk '{if ($6< 202101 ) {print $7}}' | xargs rm -rf
당연한 소리지만, 삭제할 파일이 모인 폴더로 이동하고 날리면 된다.
1달이 아니라 일단위까지 필요하다면 time-style 은 +%Y%m%d 로 사용하면 되니 참고하자.
반응형