Commit 1185eb47 authored by platyhouse's avatar platyhouse

# 파일 검색 도구 강제 삭제 기능 추가

## 파일 삭제 기능 개선

### 강제 삭제 옵션 추가
- **ptyFileFind**: --delete-force 옵션 추가
  - 기존 --delete는 확인 후 삭제
  - --delete-force는 확인 없이 즉시 삭제
  - DELETE_FORCE 변수 추가 및 초기화

### 삭제 확인 로직 개선
- **ptyFileFind**: 삭제 확인 프로세스 리팩토링
  - PROCEED_DELETE 변수로 삭제 진행 여부 제어
  - 강제 삭제 모드 분기 처리 추가
  - 조건문 구조 개선 ([[ ]] → [ ])

### 도움말 개선
- **ptyFileFind**: 사용법 및 예제 업데이트
  - --delete-force 옵션 설명 추가
  - 두 삭제 옵션 차이점 명시
  - 예제에 강제 삭제 사용 사례 추가
parent a8848b29
......@@ -35,6 +35,7 @@ show_usage() {
echo " -maxdepth N 검색 깊이 제한 (1: 현재 디렉토리만)"
echo " -count 개수만 표시"
echo " --delete 검색된 파일/디렉토리 삭제 (확인 후 실행)"
echo " --delete-force 검색된 파일/디렉토리 강제 삭제 (확인 없이 즉시 삭제)"
echo ""
echo "예제:"
echo " $0 '*.log' -d 10 # 현재 디렉토리의 .log 파일 중 10일 이상 지난 파일"
......@@ -49,7 +50,8 @@ show_usage() {
echo " $0 '*.sh' -perm 777 # 현재 디렉토리의 .sh 파일 중 777 권한"
echo " $0 '*.log' -r -d 30 -s # 하위까지 .log 파일 중 30일 이상, 크기 표시"
echo " $0 './*' -maxdepth 2 -zerofiles # 최대 2단계 깊이까지 0바이트 파일"
echo " $0 '*.log' -d 30 --delete # 30일 이상 지난 .log 파일 삭제"
echo " $0 '*.log' -d 30 --delete # 30일 이상 지난 .log 파일 삭제 (확인 후)"
echo " $0 '*.log' -d 30 --delete-force # 30일 이상 지난 .log 파일 강제 삭제"
exit 1
}
......@@ -100,6 +102,7 @@ FILE_PERM=""
MAX_DEPTH="1"
RECURSIVE=false
DELETE_MODE=false
DELETE_FORCE=false
# 옵션 파싱
while [[ $# -gt 0 ]]; do
......@@ -168,6 +171,11 @@ while [[ $# -gt 0 ]]; do
DELETE_MODE=true
shift
;;
--delete-force)
DELETE_MODE=true
DELETE_FORCE=true
shift
;;
-help|--help)
show_usage
;;
......@@ -337,14 +345,27 @@ if [ "$DELETE_MODE" = true ]; then
exit 0
fi
echo ""
echo "============================================"
echo "경고: 위의 ${COUNT}개 항목을 삭제하시겠습니까?"
echo "============================================"
read -p "삭제하시겠습니까? (y/N): " -n 1 -r
echo ""
# 강제 삭제가 아닌 경우 확인 받기
PROCEED_DELETE=false
if [ "$DELETE_FORCE" = true ]; then
PROCEED_DELETE=true
echo ""
echo "============================================"
echo "강제 삭제 모드: ${COUNT}개 항목을 삭제합니다."
echo "============================================"
else
echo ""
echo "============================================"
echo "경고: 위의 ${COUNT}개 항목을 삭제하시겠습니까?"
echo "============================================"
read -p "삭제하시겠습니까? (y/N): " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
PROCEED_DELETE=true
fi
fi
if [[ $REPLY =~ ^[Yy]$ ]]; then
if [ "$PROCEED_DELETE" = true ]; then
echo ""
echo "삭제 중..."
DELETED_COUNT=0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment