>> Read No. 6088 article  
I love Shell Script....

등록 2000-08-15 18:02:36     조회 272
이름 백인규    

간간히 화일 다루기가 귀찮으면 책 찾아가면서 쉘 스크립트를 만들어봅니다.
(보통 일괄적으로 화일이름 달고 싶을 때 만들어 보는데....emoticon)

오늘도 MP3 화일을 다루기 귀찮아서 하나 맹글어 봤습니다.
화일이 쌓일 수록 어디에 무슨 곡이 있는 지 찾기가 힘들어서 텍스트로라도
인덱스를 만들어 놓고 싶었는데, 이게 노가다가 장난이 아니더군요.

근데, 스크립트로 'tail' 하고 'head' 로 장난을 하니...후후...

언제나 느끼는 거지만, 쉘 스크립트...너무 좋습니다.
파이프를 사용해서 조그마한 프로그램들을 모듈처럼 사용할 수도 있고...


하여간, 미숙하기는 하지만 아래는 제가 만들어본 스크립트입니다.
더 공부해서 고쳐야겠지만서도요.....

===========================================================
===========================================================

# 현재 디렉토리 이름을 알아냅니다.
C_PATH=`pwd`
C_PATH=${C_PATH##*/}
List_File=`echo $C_PATH.txt`

# List File 을 만듭니다.
# FAT에서 공백이 있는 긴 이름 화일일 수도 있기때문에,
# "$List_File" 만들었습니다.
echo -ne "****  $C_PATH  ****" > "$List_File"
echo -ne "\n\n" >> "$List_File"

# 현재 디렉토리의 MP3 목록으로 ID를 받아냅니다.
for MP3_FILE in $(ls *.[Mm][Pp][23])
do
        MP3_TITLE=`tail --bytes=125 $MP3_FILE|head --bytes=30`
        MP3_TITLE=`echo $MP3_TITLE`
# 공백을 지우기 위해서 echo를 사용했습니다.
        MP3_ARTIST=`tail --bytes=125 $MP3_FILE|head --bytes=60|tail --bytes=30`
        MP3_ARTIST=`echo $MP3_ARTIST`
# Time은 Comment Field에 기재해서 사용하고 있습니다...저는요..emoticon
        MP3_TIME=`tail --bytes=31 $MP3_FILE|head --bytes=30`
        MP3_TIME=`echo $MP3_TIME`

        echo -ne "${MP3_FILE%*.[Mm][Pp][23]} : $MP3_TITLE - $MP3_ARTIST ($MP3_TIME)\n" >> "$List_File"
done


===========================================================
===========================================================

후후...진짜 간단하지 않습니까??
뭐, 기능도 없고, 잘 하시는 분은 더 간단히 만드시겠지만, 모르는 저도 이
정도면 만들 수 있다는 사실이...흑흑.....

GUI가 판을 치는 세상에서도 쉘이여 영원하라......



꼬리......
   MP3 스펙을 구할 수가 없어서 열심히 tail로 Field 구성을 알아 봤습니다.
   끝에서 125Bytes에 기재가 되더군요.(TAG라는 단어 뒤에 붙습니다)
   Title(30) + Artist(30) + Album(30) + Year(4) + Comment(30) + '/'(1)
   노가다노가다....emoticon;;;
이름
암호
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.46 초 ] 작업시간: [ 0.03 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791061689
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.