Bash에서 파일 이름 바꾸기

MD Aminul Islam 2023년6월20일
  1. mv 명령을 사용하여 Bash에서 파일 이름 바꾸기
  2. rename 명령을 사용하여 Bash에서 파일 이름 바꾸기
Bash에서 파일 이름 바꾸기

Bash 스크립트의 도움으로 작업을 자동화할 수 있습니다. 파일 이름 바꾸기는 모든 종류의 시스템에서 공통적인 작업입니다.

모든 파일의 이름을 하나씩 수동으로 바꿀 수 있습니다. 그러나 파일 이름에 시퀀스가 있는 경우 이 작업을 자동화하는 것이 좋습니다.

이렇게 하면 적절한 순서로 디렉터리의 모든 파일 이름을 쉽게 바꿀 수 있습니다.

이 기사에서는 디렉토리에 있는 모든 파일의 이름을 쉽게 바꿀 수 있는 방법을 소개합니다. 또한 주제를 더 쉽게 만들기 위해 필요한 예와 설명을 볼 것입니다.

mv 명령을 사용하여 Bash에서 파일 이름 바꾸기

Bash 스크립트에는 mv라는 내장 명령이 포함되어 있습니다. mv 명령은 주로 디렉토리와 파일을 한 위치에서 다른 위치로 이동하는 데 사용됩니다.

또한 파일 및 디렉토리의 이름을 바꾸는 데 사용할 수 있습니다. 이 명령에서 중요한 점은 파일의 새 이름을 지정하지 않으면 새 위치에서 파일 이름이 동일하다는 것입니다.

이 명령의 일반 구문은 $ mv [OPTIONS] SOURCE DESTINATION입니다. 이 명령에 사용할 수 있는 옵션은 다음과 같습니다.

  1. mv -f - 이 플래그는 프롬프트 없이 대상 파일을 덮어써 강제로 이동합니다.
  2. mv -i - 이 플래그는 덮어쓰기 전 대화형 프롬프트용입니다.
  3. mv -u - 이 플래그는 업데이트용입니다. 대상이 아닌 새로운 소스인 경우에만 파일을 이동합니다.
  4. mv -v - 이 플래그는 소스 및 대상의 모든 파일을 인쇄합니다.
  5. man mv - 이 플래그는 도움말 설명서를 엽니다.

다음 순서의 파일 목록이 있다고 가정합니다.

1_file.txt
2_file.txt
3_file.txt
4_file.txt
5_file.txt
6_file.txt

이제 아래 코드 예제를 살펴보십시오.

for file in *.txt
 do
   mv "$file" "${file/_file.txt/_Textfile.txt}"
 done

위의 예에서는 유형이 .txt인 모든 파일의 이름을 변경했습니다. 이를 위해 mv 명령과 함께 for 루프를 사용했습니다.

이제 이 목적을 위한 일반 구문은 mv "$LoopVar" "${LoopVar/PreviousName.txt/NewName.txt}"입니다.

여기에서 파일 이름과 함께 루프 변수를 포함해야 한다는 점에 유의해야 합니다. 그렇지 않으면 시스템 생성 이름이므로 덮어쓸 수 있습니다.

이제 위의 코드를 실행하면 아래와 같이 모든 파일의 이름이 변경된 것을 볼 수 있습니다.

1_Textfile.txt
2_Textfile.txt
3_Textfile.txt
4_Textfile.txt
5_Textfile.txt
6_Textfile.txt

이 명령에서 중요한 점은 파일을 식별하기 위해 파일 이름의 공통 부분을 지정하는 것입니다. 파일 유형 또는 파일 이름의 다른 일반적인 패턴일 수 있습니다.

그렇지 않으면 명령이 모든 파일의 이름을 성공적으로 바꾸지 못할 수 있습니다.

rename 명령을 사용하여 Bash에서 파일 이름 바꾸기

Bash 스크립트에는 rename이라는 타사 명령도 있습니다. 하지만 사용하기 전에 설치해야 합니다.

쉘 환경에서 이 명령을 설치하려면 Ubuntu 및 Debian에 대해 아래 명령을 따를 수 있습니다.

sudo apt install rename

그런 다음 아래와 같이 파일 이름을 바꿀 수 있습니다.

rename [Your Options] 's/[Current Filename]/[New Filename]/' [Filename]

이 명령에는 아래와 같은 옵션도 포함되어 있습니다.

  1. -a - 이 옵션은 첫 번째 파일을 제외한 모든 파일 이름을 대체합니다.
  2. -f - 이 옵션은 기존 파일을 강제로 덮어씁니다.
  3. -h - 이 옵션은 도움말 텍스트를 표시합니다.
  4. -i - 이 옵션은 기존 파일을 덮어쓰기 전에 프롬프트 알림을 표시합니다.
  5. -l - 이 옵션은 첫 번째 요소 대신 마지막으로 나타나는 요소를 대체합니다.
  6. -n - 이 옵션은 테스트 실행을 수행합니다.
  7. -s - 이 옵션은 심볼릭 링크 대신 대상의 이름을 바꿉니다.
  8. -v - 이 옵션은 자세한 버전의 출력을 표시합니다.
  9. -V - 이 옵션은 명령 버전을 표시합니다.

아래 명령을 사용하여 위 파일 세트의 이름을 바꿀 수 있습니다.

rename -v 's/_Testfile/_Test/' *.txt

그러면 아래 출력이 표시됩니다.

1_Testfile.txt renamed as 1_Test.txt
2_Testfile.txt renamed as 2_Test.txt
3_Testfile.txt renamed as 3_Test.txt
4_Testfile.txt renamed as 4_Test.txt
5_Testfile.txt renamed as 5_Test.txt
6_Testfile.txt renamed as 6_Test.txt
Note
이 기사에서 사용된 코드는 Bash로 작성되었습니다. Linux Shell 환경에서만 작동합니다.
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

관련 문장 - Bash File