ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Bash] 파일 루프 및 조건문 활용
    Bash 2023. 10. 26. 21:54
    반응형

    파일 루프 및 조건문 활용

    파일 루프 및 조건문을 사용하면 디렉토리 내의 파일을 반복하고 파일에 대한 특정 작업을 수행할 수 있습니다. 예를 들어, 특정 디렉토리에서 .txt 확장자를 가진 파일을 찾아내고 그 파일들을 처리하는 스크립트를 작성해보겠습니다.

    예제 1: 모든 .txt 파일의 목록 출력

    #!/bin/bash
    
    # 특정 디렉토리에 있는 .txt 파일을 찾아내어 목록을 출력
    directory="/path/to/your/directory"
    
    for file in "$directory"/*.txt; do
        if [ -f "$file" ]; then
            echo "파일: $file"
        fi
    done


    for file in "$directory"/*.txt: 디렉토리 내의 모든 .txt 파일에 대한 루프를 시작합니다.
    if [ -f "$file" ]: 현재 파일이 실제 파일인지 확인합니다. (디렉토리나 심볼릭 링크가 아닌지)
    echo "파일: $file": 파일 이름을 출력합니다.
    예제 2: .log 파일을 .txt로 변환

    이번에는 .log 확장자를 가진 파일을 찾아 .txt 확장자로 변경하는 스크립트를 작성해보겠습니다.

    #!/bin/bash
    
    # 특정 디렉토리에 있는 .log 파일을 .txt로 변경
    directory="/path/to/your/directory"
    
    for file in "$directory"/*.log; do
        if [ -f "$file" ]; then
            new_file="${file%.log}.txt"  # .log 확장자를 .txt로 변경
            mv "$file" "$new_file"
            echo "변경된 파일: $new_file"
        fi
    done




    new_file="${file%.log}.txt": 현재 파일의 이름에서 .log 확장자를 .txt로 변경합니다.
    mv "$file" "$new_file": 파일 이름을 변경합니다.
    예제 3: .jpg 파일을 압축

    이번에는 .jpg 확장자를 가진 이미지 파일을 찾아서 압축하는 스크립트를 작성해보겠습니다.

    #!/bin/bash
    
    # 특정 디렉토리에 있는 .jpg 파일을 압축
    directory="/path/to/your/directory"
    
    for file in "$directory"/*.jpg; do
        if [ -f "$file" ]; then
            zip_file="${file%.jpg}.zip"  # .jpg 파일을 .zip으로 압축
            zip -j "$zip_file" "$file"
            echo "압축된 파일: $zip_file"
        fi
    done




    zip_file="${file%.jpg}.zip": 현재 파일의 이름에서 .jpg 확장자를 .zip으로 변경합니다.
    zip -j "$zip_file" "$file": 파일을 .zip으로 압축합니다.

    반응형

    'Bash' 카테고리의 다른 글

    [Bash] 문자열 조작  (1) 2023.10.26
    [Bash] 반복문 활용  (0) 2023.10.26
    [Bash] 함수 활용  (0) 2023.10.26
    [Bash] 조건문 및 비교 연산자 활용  (0) 2023.10.26
    [Bash] 배열 다루기  (0) 2023.10.26
Designed by Tistory.