Bash에서 파일 이름 및 확장자 추출

개요

Bash에서 파일 이름과 파일 확장자를 추출하려는 데에는 여러 가지 이유가 있습니다.

  • 파일 이름이나 확장자를 조작하려면 – 파일 이름에 접두사 또는 접미사를 추가하거나 파일 확장자를 변경하는 등 수정하기 위해 파일 이름 또는 확장자를 추출할 수 있습니다.

  • 고유한 이름을 가진 파일을 생성하려면 – 파일 이름에 타임스탬프나 임의의 숫자를 추가하는 등 고유한 이름을 가진 새 파일을 생성하기 위해 파일 이름과 확장자를 추출할 수 있습니다.

  • 스크립트나 명령에서 파일 이름이나 확장자를 사용하려면 – 프로그램에 전달하거나 디렉토리와 동일한 이름의 파일을 생성하는 등 스크립트나 명령에 대한 인수나 입력으로 사용하기 위해 파일 이름이나 확장자를 추출할 수 있습니다.

  • 파일 이름이나 확장자에서 정보를 추출하려면 – 날짜나 파일 형식과 같은 정보를 추출하기 위해 파일 이름이나 확장자를 추출할 수 있습니다.

이 글에서는 Bash에서 파일 이름과 파일 확장자를 추출할 수 있는 가장 일반적인 세 ​​가지 방법을 살펴보겠습니다. 우리는 각각을 살펴보고 장단점을 알려줄 것이므로 어떤 접근 방식이 자신에게 가장 적합한지 현명한 결정을 내릴 수 있습니다.

방법 1: 사용하기 기본 이름 명령

XNUMXD덴탈의 basename 명령을 사용하여 파일 경로에서 파일 이름과 확장자를 추출할 수 있습니다.

filename=$(basename /path/to/file.txt)
echo $filename

이 방법은 매우 간단하고 사용하기 쉽지만, 안타깝게도 후처리 없이 파일 이름(확장자 없음)만 추출할 수 있는 방법은 없습니다.

당신은 또한 사용할 수 있습니다 dirname 디렉토리 경로를 별도로 추출하는 명령:

directory=$(dirname /path/to/file.txt)
echo $directory

장점 :
  • 사용이 간편
  • 공백이 포함된 파일 이름을 올바르게 처리합니다.
단점 :
  • 파일명만 추출하며, 추가 처리 없이 확장자를 별도로 추출할 수 없습니다.

방법 2: 매개변수 확장 사용

Bash는 다음과 같은 기능을 제공합니다. 매개 변수 확장, 특수 구문을 사용하여 변수의 일부를 추출할 수 있습니다. 예를 들어, 다음 구문을 사용하여 변수에 저장된 파일 경로에서 파일 이름과 확장자를 추출할 수 있습니다.

filepath="/path/to/file.txt"
filename=${filepath##*/}
echo $filename

매개변수 확장을 사용하여 확장자를 별도로 추출할 수도 있습니다.

extension=${filename##*.}
echo $extension

장점 :
  • 유연성
  • 파일 이름과 확장자를 별도로 추출할 수 있으며,
  • 공백이 포함된 파일 이름을 올바르게 처리합니다.
단점 :
  • 파일 경로를 저장하려면 변수가 필요합니다.

방법 3: 사용하기 AWK 명령

XNUMXD덴탈의 awk 명령은 문자열의 일부를 추출하는 데 사용할 수 있는 강력한 텍스트 처리 도구입니다. 예를 들어, 다음 구문을 사용하여 파일 경로에서 파일 이름과 확장자를 추출할 수 있습니다.

filepath="/path/to/file.txt"
filename=$(echo $filepath | awk -F/ '{print $NF}')
echo $filename

모범 사례, 업계에서 인정하는 표준 및 포함된 치트 시트가 포함된 Git 학습에 대한 실습 가이드를 확인하십시오. 인터넷 검색 Git 명령을 중지하고 실제로 배움 이것!

VOUS pouvez의 aussi 사용 awk 확장자를 별도로 추출하려면 다음을 수행하십시오.

extension=$(echo $filename | awk -F. '{print $NF}')
echo $extension

장점 :
  • 강한
  • 파일 이름과 확장자를 별도로 추출할 수 있습니다.
  • 공백이 포함된 파일 이름을 올바르게 처리합니다.
단점 :
  • 일부 사용자에게는 구문이 생소할 수 있습니다.
  • 파일 경로를 파이핑해야 합니다. awk

결론

전반적으로 Bash에서 파일 이름과 파일 확장자를 추출하는 것은 Bash 셸에서 파일 작업과 다양한 작업을 수행하는 데 유용한 기술이 될 수 있습니다.

언급된 각 방법에는 고유한 장점과 단점이 있으며, 최선의 선택은 귀하의 특정 요구 사항과 선호도에 따라 달라집니다. 상황에 가장 적합한 접근 방식을 선택할 수 있도록 다양한 접근 방식을 익히는 것이 도움이 되는 경우가 많습니다.

타임 스탬프 :

더보기 스택카부스