Linux

[간단 명령어] find 명령어로 특정 패턴 폴더 또는 파일 삭제

IT-PAPA 2024. 8. 15. 06:18
728x90
반응형

1. find 명령어를 사용하여 특정 폴더를 찾아 삭제하려면 다음과 같은 명령어를 사용할 수 있습니다

find /경로/ -type d -name "20240630" -exec rm -rf {} \;

이 명령어는 /경로/ 아래에서 이름이 "20240630"인 모든 디렉토리를 찾아서 삭제합니다. 여기서 -type d는 디렉토리만 찾도록 지정하고, -exec rm -rf {}는 찾은 디렉토리를 삭제하는 명령어입니다.

명령어를 실행하기 전에, 삭제할 폴더가 맞는지 다시 한 번 확인하는 것이 좋습니다.

 

2. find 명령어를 사용하여 30일 이상된 파일을 삭제하려면 다음과 같은 명령어를 사용할 수 있습니다

find /경로/ -type f -mtime +30 -delete

이 명령어는 /경로/ 아래에서 마지막 수정 날짜가 30일 이상된 모든 파일을 찾아서 삭제합니다. 여기서 -type f는 파일만 찾도록 지정하고, -mtime +30은 마지막 수정 날짜가 30일 이상된 파일을 의미합니다-delete 옵션은 찾은 파일을 삭제합니다

 

3. find 명령어를 사용하여 특정 패턴의 파일을 삭제하려면 다음과 같은 명령어를 사용할 수 있습니다:

find /경로/ -type f \( -name "test_*.log" -or -name "[jsp]test_*" \) -delete

이 명령어는 /경로/ 아래에서 이름이 test_*.log 또는 [jsp]test_* 패턴과 일치하는 모든 파일을 찾아서 삭제합니다. 여기서 -type f는 파일만 찾도록 지정하고, -name 옵션을 사용하여 여러 패턴을 지정합니다-delete 옵션은 찾은 파일을 삭제합니다

 

4. find 명령어를 사용하여 특정 패턴의 폴더를 삭제할 수 있습니다. 정규식을 사용하여 패턴을 지정할 수는 없지만, -name 옵션을 사용하여 와일드카드 패턴을 지정할 수 있습니다. 예를 들어, 이름에 "test_"가 포함된 모든 폴더를 삭제하려면 다음과 같은 명령어를 사용할 수 있습니다

find /경로/ -type d -name "test_*" -exec rm -rf {} \;

이 명령어는 /경로/ 아래에서 이름이 "test_"로 시작하는 모든 디렉토리를 찾아서 삭제합니다

 

5. 정규식을 사용하여 파일을 찾고 삭제하는 방법은 find 명령어에서 직접 지원하지 않지만, grep과 함께 사용할 수 있습니다. 예를 들어, 정규식을 사용하여 특정 패턴의 폴더를 찾고 삭제하려면 다음과 같은 명령어를 사용할 수 있습니다

find /경로/ -type d | grep -E "정규식패턴" | xargs rm -rf

이 명령어는 /경로/ 아래에서 모든 디렉토리를 찾고, grep을 사용하여 정규식 패턴과 일치하는 디렉토리만 필터링한 후, xargs를 사용하여 삭제합니다

 

6. find 명령어를 사용하여 정규식 패턴으로 파일을 삭제할 수 있습니다. -regex 옵션을 사용하면 정규식 패턴을 지정할 수 있습니다. 예를 들어, 이름에 "test_"가 포함된 모든 파일을 삭제하려면 다음과 같은 명령어를 사용할 수 있습니다

find /경로/ -type f -regex ".*test_.*" -delete

이 명령어는 /경로/ 아래에서 이름에 "test_"가 포함된 모든 파일을 찾아서 삭제합니다

 

7. 여러 패턴을 지정하려면 -regex 옵션을 여러 번 사용할 수 있습니다. 예를 들어, 이름이 “test_yyyymmdd.log” 또는 “[jsp]test_yymm” 패턴과 일치하는 파일을 삭제하려면 다음과 같이 할 수 있습니다

find /경로/ -type f \( -regex ".*test_[0-9]{8}\.log" -or -regex ".*\[jsp\]test_[0-9]{6}" \) -delete

이 명령어는 /경로/ 아래에서 지정된 두 가지 패턴과 일치하는 모든 파일을 찾아서 삭제합니다

 
728x90
반응형
LIST