Bash에서 파일 이름 구문 분석하기: 간단한 가이드

파일 이름을 구문 분석하는 것은 Bash에서 많은 스크립팅 작업에 일반적으로 요구되는 작업입니다. 로그, 데이터 파일 또는 기타 리소스를 처리할 때 파일 이름에서 특정 정보를 추출할 수 있는 능력은 매우 중요합니다. 이 블로그 포스팅에서는 cut 명령어를 사용하여 Bash에서 파일 이름을 구문 분석하는 방법을 살펴보겠습니다. cut 명령어는 텍스트 조작을 위한 강력한 도구입니다.

문제

이와 같이 구조화된 파일 이름이 있다고 가정해 보겠습니다:

system-source-yyyymmdd.dat

여기서 다음과 같은 개별 구성 요소를 추출하고 싶을 수 있습니다:

  • system
  • source
  • yyyymmdd.dat

이 특정 경우에는 구분자가 하이픈(-)입니다. 이 가이드는 Bash를 사용하여 파일 이름을 구문 분석하고 이러한 부분을 효과적으로 추출하는 과정에 대해 안내할 것입니다.

해결책: cut 명령어 사용하기

cut 명령어는 입력의 각 행에서 섹션을 추출할 수 있는 Unix 기반 시스템의 효율적인 유틸리티입니다. 이 명령어는 구분자를 처리하고 반환할 필드를 지정할 수 있습니다. 아래는 파일 이름을 구문 분석하는 데 cut 명령어를 사용하는 방법에 대한 설명입니다.

단계 1: 명령어 구조 이해하기

시작하기 위해, cut 명령어의 기본 구문은 다음과 같습니다:

cut -d'delimiter' -f$field_number
  • -d'delimiter': 이 옵션은 필드를 구분하는 문자를 지정합니다. 이 경우에는 - 입니다.
  • -f$field_number: 이 옵션은 추출하고자 하는 필드(들)를 지정하며, 필드는 1부터 시작하여 번호가 매겨집니다.

단계 2: 파일 이름 구문 분석하기

파일 이름에서 필드를 추출하려면 다음 단계를 따르십시오:

  1. 터미널을 엽니다.
  2. echo 명령어와 cut을 조합하여 파일 이름을 구문 분석합니다:
echo "system-source-yyyymmdd.dat" | cut -d'-' -f2
  1. 결과 위 명령어를 실행하면 다음과 같은 결과가 출력됩니다:
source

이는 두 번째 필드를 성공적으로 추출했음을 나타냅니다.

단계 3: 다른 필드 추출하기

다른 필드를 추출하려면 -f 옵션 뒤의 숫자를 변경하면 됩니다:

  • 첫 번째 필드(즉, system)를 얻으려면:
echo "system-source-yyyymmdd.dat" | cut -d'-' -f1
  • 세 번째 필드(즉, yyyymmdd.dat)를 얻으려면:
echo "system-source-yyyymmdd.dat" | cut -d'-' -f3

단계 4: 여러 필드 추출하기 (선택 사항)

여러 필드를 한 번에 추출하고 싶다면, 쉼표를 사용하여 필드를 지정할 수 있습니다:

echo "system-source-yyyymmdd.dat" | cut -d'-' -f1,2

이 경우 다음과 같은 결과가 출력됩니다:

system-source

결론

Bash에서 파일 이름을 구문 분석하는 것은 cut 명령어를 사용하면 간단합니다. 올바른 구분자와 필드 번호를 지정함으로써, 필요에 따라 파일 이름의 어떤 부분이든 신속하게 추출할 수 있습니다. 이 작은 그러나 강력한 기술은 스크립트와 데이터 처리 작업을 크게 간소화할 수 있습니다.

파일 이름이 아무리 복잡해지더라도, 파일 구문 분석의 기본을 이해하는 것은 Bash 스크립팅에서 여러분의 작업 흐름에 도움이 될 것입니다.


이제 Bash를 사용하여 효율적으로 파일 이름을 구문 분석할 준비가 되었습니다! 스크립팅을 즐기세요!