sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
extra_vars6 |
#!/bin/bash
# 1. 확인할 경로를 설정합니다.
TARGET_PATH="/경로/여기/입력" # 실제 경로로 변경해주세요 (예: /home/user/my_data)
# 2. 제외할 폴더 이름을 배열로 정의합니다.
EXCLUDE_FOLDERS=("master" "main")
# 3. 지정된 경로가 존재하는지 확인합니다.
if [ ! -d "$TARGET_PATH" ]; then
echo "오류: '$TARGET_PATH' 경로가 존재하지 않거나 디렉토리가 아닙니다."
exit 1
fi
# 4. 가장 최근에 생성된 (또는 수정된) 폴더를 찾되, 제외할 폴더를 필터링합니다.
# -t: 수정 시간을 기준으로 정렬합니다. (가장 최근이 위로)
# -d: 디렉토리만 표시합니다.
# -1: 한 줄에 하나씩 표시합니다.
# grep -v: 특정 패턴을 포함하는 라인을 제외합니다.
# head -n 1: 필터링된 결과 중 첫 번째 (가장 최근)만 가져옵니다.
LATEST_FOLDER=""
for folder in $(ls -td "$TARGET_PATH"/*/); do
FOLDER_NAME=$(basename "$folder")
EXCLUDE=false
for exclude_name in "${EXCLUDE_FOLDERS[@]}"; do
if [ "$FOLDER_NAME" = "$exclude_name" ]; then
EXCLUDE=true
break
fi
done
if [ "$EXCLUDE" = false ]; then
LATEST_FOLDER="$folder"
break # 가장 최근에 제외되지 않은 폴더를 찾으면 루프 종료
fi
done
# 5. 결과에서 경로를 제거하고 폴더 이름만 추출합니다.
LATEST_FOLDER_NAME=$(basename "$LATEST_FOLDER")
# 6. 추출된 폴더 이름을 출력합니다.
if [ -n "$LATEST_FOLDER_NAME" ]; then
echo "가장 최근에 생성된 폴더 (제외 폴더 제외): $LATEST_FOLDER_NAME"
# 7. 이 폴더 이름을 다른 shell 명령의 인자로 활용하는 예시
echo " "
echo "--- 활용 예시 ---"
echo "cd \"$TARGET_PATH/$LATEST_FOLDER_NAME\""
echo "ls -la \"$TARGET_PATH/$LATEST_FOLDER_NAME\""
echo "my_program --input-dir \"$TARGET_PATH/$LATEST_FOLDER_NAME\""
else
echo "지정된 경로에 폴더가 없거나 모든 폴더가 제외되었습니다: $TARGET_PATH"
fi