mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Saturday, March 31, 2007

Perl 펄] 패스에서, 디렉토리명/파일명/확장자 분리 추출; Split Path Name


풀 패스명은, "디렉토리명+파일명+확장자"로 구성되어 있습니다. 이것을 각각 나누어 추출하는 방법입니다.

File::Basename 모듈을 사용하면 됩니다. 펄의 기본 모듈이기에 별도로 설치해 줄 필요는 없습니다.

File::Basename 모듈 사용법 예제


스크립트 파일명: example.pl
(※ 스크롤 박스 사용법: 박스 안을 마우스로 클릭한 후, 키보드의 좌우 화살표키를 누르면 양옆으로 움직일 수 있습니다. 박스에서 다시 나오려면, 박스 바깥의 아무곳이나 클릭하면 됩니다.)
#!/usr/bin/perl
use strict; use warnings;

use File::Basename;


# 패스: My Jukebox 라는 디렉토리 밑의 "Cool Jazz.mp3" 라는 파일명
my ($fileNameOnly, $dir, $ext) = fileparse("My Jukebox/Cool Jazz.mp3", '\.[^.]*');


# 패스에서 디렉토리명만 구하기
print "<", $dir, ">\n";
# 출력 결과: <My Jukebox/>


# 패스에서 파일명만 구하기 (확장자 제외)
print "<", $fileNameOnly, ">\n";
# 출력 결과: <Cool Jazz>


# 패스에서 확장자만 구하기
print "<", $ext, ">\n";
# 출력 결과: <.mp3>



##########################



# 파일명만 간단히 얻기 (확장자 포함)
my $s = basename("/000/perl.pdf");
print $s, "\n";
# 출력 결과: perl.pdf


# 디렉토리명만 간단히 구하기
$s = dirname("/000/perl.pdf");
print $s, "\n";
# 출력 결과: /000


# 확장자만 별도로 구하기
$s = (fileparse("/000/perl.pdf", '\.[^.]*'))[2];
print $s, "\n";
# 출력 결과: .pdf


# 확장자 없는 파일에서 확장자를 구하면
$s = (fileparse("/000/Test", '\.[^.]*'))[2];
print "<", $s, ">\n";
# <> 이렇게 빈 문자열 출력


# 2중 확장자 파일명에서 진짜 확장자를 구하기
$s = (fileparse("Date.tar.gz", '\.[^.]*'))[2];
print "<", $s, ">\n";
# <.gz>



정규식으로 파일 이름에서 확장자만 추출하는 방법: ▶▶ Perl 펄] 정규식 확장자 추출, 파일명에서; Regex Filename Extension




tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top