HOWTO · Bash

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 환경에서만 작동합니다.