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

 
Previous Post 펄,Perl] defined 함수 사용 예제; 배열/변수 초기화 여부 확인 법Java,자바] 그래픽 파일 뷰어 만들기; JPG GIF PNG Image File Vie...자바,Java] 유닉스 타임, 유닉스 시간 구하기; UNIX Time, POSIX Time...구글 휴대폰용 모바일 검색 사이트 주소, Google Mobile Search도스 고전 게임 에러 해결] VESA support not detected리눅스 출력 결과, 화면에 한 페이지씩 스크롤, LINUX UNIX Paging리눅스/유닉스 실행파일 디렉토리, 명령어/바이너리 폴더 위치; LINUX UNIX bin자바 클래스 파일 디스어셈블러/역어셈블;Java Class File Disassembler...C언어] 2차원 배열 만들기, 초기화, 출력 (배열의 배열); Two Dimensional...리눅스/유닉스] 하드 남은 용량; 디스크 사이즈 보는 명령어; LINUX UNIX Disk...

Perl/펄] 파일명에서, 확장자 구하는 함수; Get File Extension Only

Friday, November 03, 2006

주어진 파일 이름에서, 파일명 끝의 확장자만 알아내는 방법입니다.

우선 rindex 함수로, 파일명 끝에서부터 시작하여 마침표의 위치를 파악한 후,

그 위치를 이용하여 substr 함수로, 파일명의 맨 끝에서 마침표 바로 직전까지의 문자열만 얻는 것입니다.


PERL: 파일 이름에서 확장자만 추출 함수 예제


#!/usr/bin/perl
use strict; use warnings;

=pod
편의상, <txt> 이런 식으로 출력했지만
함수 자체는
txt
이런 값을 반환합니다.
=cut


  print "<", &getFileExtension("test.txt"), ">\n";
  # 출력 결과: <txt>


  print "<", &getFileExtension("foo.c"), ">\n";
  # 출력 결과: <c>


  print "<", &getFileExtension("APPLE.JPEG"), ">\n";
  # 출력 결과: <JPEG>


  # 공백 들어간 파일명에서
  print "<", &getFileExtension("My Test.doc"), ">\n";
  # 출력 결과: <doc>


  # 점이 2개 있는 파일명에서
  print "<", &getFileExtension("google.ani.gif"), ">\n";
  # 출력 결과: <gif>


  # 공백 있는 확장자명에서
  print "<", &getFileExtension("hmmmm.foo bar"), ">\n";
  # 출력 결과: <foo bar>


  # 확장자가 없는 파일에서
  print "<", &getFileExtension("COOL"), ">\n";
  # 출력 결과: <> (없음; 빈 문자열)


  # 유닉스 히든파일명에서
  print "<", &getFileExtension(".bash_history"), ">\n";
  # 출력 결과: <> (없음; 빈 문자열)




# 확장자 없는 경우에는 $pos 가 -1
# 유닉스 히든파일은 $pos 가 0

sub getFileExtension {
  my $pos = rindex $_[0], ".";
  return "" if $pos < 1;
  substr $_[0], $pos + 1;
}


유닉스/리눅스에는
.bash_history
이렇게 파일명 앞에 점을 붙여서 "숨김 파일" 즉 히든파일임을 나타냅니다.

.bash_history 라는 파일명의 경우, 파일명은 bash_history 이고, 확장자는 없습니다. 따라서 확장자가 없다고 나옵니다.

다만 MS윈도우의 탐색기에서는 bash_history 이 부분을 확장자로 인식합니다.




정규식으로 확장자 매치 방법: ▶▶ Perl 펄] 정규식 확장자 추출, 파일명에서; Regex Filename Extension

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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