| 1011 번 글의 답장글: Re: Re: 쉘스크립트 질문입니다. |
| 글쓴이: 원아이드잭
[홈페이지]
|
글쓴날: 2002년 04월 05일 00:49:07 금(새벽) |
조회: 674 |
감사합니다. 제가 쉘스크립트공부한지
얼마 안돼서 도움을 청했는데..
이건 도저히 안되겠다고 생각했는데 저의 소견이
빗나갔군요..헐..
암튼 쉘도 안되는게 없네요... 배쉬 열심히 공부할께요..
아무튼 감사하구여. 아직도 산이님이 가르쳐주신거 이해를 다
못했네요.
일단 이해부터 하고 나서 다시 글 올리겠습니다.
그럼 전 이만... 고수의 길은 정말 멀고도 험하다. 에공...
[산이]님이 남기신 글:
>[원아이드잭]님이
남기신 글:
>
>>FirebirdCS-1.0.0-0.Beta2.tar.gz
>>apache_1.3.23.tar.gz
>>aspell-.33.7.tar.gz
>>curl-7.9.3.tar.gz
>>freetype-2.0.8.tar.gz
>>gd-1.8.4.tar.gz
>>imap.tar.Z
>>jpegsrc.v6b.tar.gz
>>libmcrypt-2.4.16.tar.gz
>>libpng-1.2.1.tar.gz
>>mhash-0.8.13.tar.gz
>>mod_ssl-2.8.7-1.3.23.tar.gz
>>mysql-3.23.49.tar.gz
>>number4.tar.gz
>>openssl-0.9.6c.tar.gz
>>pdflib-4.0.2.tar.gz
>>php-4.1.2.tar.gz
>>pspell-.12.1.tar.gz
>>tiff-v3.5.7.tar.gz
>>zlib-1.1.3.tar.gz
>>
>>제가 위의 목록을 쉘스크립트를 짜서
>>나머지는 다 지우구 아래 목록 같이 출력을 하고
싶거든요.
>>몇가지 방법을 생각했는데 제 실력으로는 무리인거
같아요..
>>형식이 xxx-x.x.x.tar.gz 인거는 되기는 한데. 나머지는 어떻게
처리해야 될지를 잘 몰겠어요..
>>조언 부탁드립니다.
>>
>
>========================================
>
>무엇 보다 중요한점은 각각의 파일에서 서로 공통점인
규칙을
>찾아야 합니다.
>
>[규칙 1]
>.
>-
>이하의 문자열은 모두 제거
>
>[규칙 2]
>_ 문자열이 들어가고 뒤어 숫자만로 이루어지면 제거.
>(apache_1.xxxx 와 mod_ssl-xxx 을 서로 구분해야함)
>
>
>따라서
>
>변수 lists 가 아래와 같다면
>
>lists='
>FirebirdCS-1.0.0-0.Beta2.tar.gz
>apache_1.3.23.tar.gz
>aspell-.33.7.tar.gz
>curl-7.9.3.tar.gz
>freetype-2.0.8.tar.gz
>gd-1.8.4.tar.gz
>imap.tar.Z
>jpegsrc.v6b.tar.gz
>libmcrypt-2.4.16.tar.gz
>libpng-1.2.1.tar.gz
>mhash-0.8.13.tar.gz
>mod_ssl-2.8.7-1.3.23.tar.gz
>mysql-3.23.49.tar.gz
>number4.tar.gz
>openssl-0.9.6c.tar.gz
>pdflib-4.0.2.tar.gz
>php-4.1.2.tar.gz
>pspell-.12.1.tar.gz
>tiff-v3.5.7.tar.gz
>zlib-1.1.3.tar.gz'
>
>이라면,
>
>for file in $lists ; do
> file=${file%%.*} ## 규칙 1 적용
> file=${file%%-*} ## 규칙 1 적용
> file=`echo $file | sed 's/_\([0-9]\+\)$//'` ## 규칙2 적용
> echo $file
>done
>
>이렇게 해야할것 같군요...
>
>file=${file%%.*}
>
>은 변수 $file 에 대해서,
>뒤(%)에서 부터 . 으로 이루어진 가장긴 부분(%%)
모두(*)를
>제거하라는 의미입니다.
========================================
|
이전글 : Re: 쉘스크립트 질문입니다.
다음글 : mod_mp3 적재 방법좀 알려주세여^^
|
from 218.55.212.12
JS(Redhands)Board 0.4 +@
|