| 2147 번 글의 답장글: Re: Re: Re: awk 에 대한 질문입니다만.. |
| 글쓴이: 산이
[홈페이지]
|
글쓴날: 2004년 08월 28일 02:01:06 토(새벽) |
조회: 1314 |
[이현철]님이 남기신 글:
>오늘도 산이님께 한수 배웠습니다.
>님께서 가르쳐주신 방법으로 하니 제대로 되더군요..
>
>솔라리스에서 grep -E 옵션은 없었지만요..
>리눅스에는 제대로 적용되더군요..
>
혹시 스팍머신 사용하나요? 부럽군요....
제가 리눅스보다 먼저 다루었던 녀석인데... ㅋㅋ
>그런데 산이님께서 가르쳐주신
>>sed -e "s/[0-9]\{10\}/2004082701/" foobar.zone >
boobar.zone.new
>>mv -f boobar.zone.new boobar.zone
>
>방법으로는 하나씩 밖에 파일내용을 고칠수가
없는데요.
>파일수가 많을경우에는 좋은방법이 없을까요
>오늘도 여러가지 수를 생각해봤지만.결국
>수작업으로 일일이 작업해주는 무시한 방법으로해결했지만.
>앞으로 좀 심플하게 사용해보겠다고
하루종일 생각해봤는데
>좋은 조언 부탁드립니다.
>
헙...
모든 zone 파일이름의 패턴이 끝에 zone 이 들어갔다면(*.zone)
-------------------------------------------------
#!/bin/sh
#
serialchange()
{
ZONEFILE=$1
sed -e "s/[0-9]\{10\}/2004082701/" ${ZONEFILE} > ${ZONEFILE}.new
mv -f ${ZONEFILE}.new ${ZONEFILE}
}
IFS='
'
WDIR='/var/named/'
LISTS=`find $WDIR -type f -name "*.zone" -print 2>/dev/null`
for f in $LISTS ; do
echo "$f"
serialchange "$f"
done
exit 0
--------------------------------------------------
이런식으로 해야겠쬬.
솔라리스 find 옵션이 다를 수 있으므로 확인해 보세요
>
>[산이]님이 남기신 글:
>
>>
>>[이현철]님이 남기신 글:
>>
>>>-----------------------------------------
>>>답변자가 기본적으로 참고할 내용입니다.
>>>- 배포판(옵션) :
>>>- 커널버전(옵션)
:
>>>- 데몬버전(예:apache
1.3.27) :
>>>- 데몬설치유형(RPM/컴파일/기타)
:
>>>-----------------------------------------
>>>오랜만에 방문합니다.
>>>어려울때만이지만....
요즘은 여기들어와서
>>>질문이랑 답글볼시간도없네요..
>>>
>>>다름이아니라
>>>데이타센터를
이사하게 생겼는데
>>>기존에 사용하던 dns서버를
>>>새로운 데이타센터에 이동할려고 합니다만.
>>>새로운 dns 서버를 만들어서 기존의 zone파일등을
>>>복사해서 넣을려고 합니다
>>>
>>>그런데 zone파일이 몇백개가 되는 바람에
>>>zone파일의 Serial부분을 지금의 날짜로 20040826001 형태로 바꾸고
싶습니다만.
>>>
>>><예전내용>
>>>20020205001 ; Serial
>>>
>>>이것을 일일이 수정하기도 너무힘들고 awk 랑 grep 를 이용해서
>>>여러 방법을 해봤지만, 안되는데..요.. 어디 언어를 하나
배우든지해야지.
>>>어디 좋은 방법을 좀 가르쳐 주십시요..
>>>
>>>########################################
>>>
>>> 20020205001 ; Serial
>>> 10800 ; Refresh 3 hours
>>> 1800 ; Retry 30 minutes
>>> 1209600 ; Expire 2 weeks
>>> 604800 ; Minimum 1 week
>>> )
>>> ;
>>>localhost IN A 127.0.0.1
>>>;
>>>#########################################
>>
>>========================================
>>
>>serial 부분은 보통 10자리 숫자로 되어 있을 겁니다.
>>
>>따라서 먼저
>>
>>shell> grep -E "[0-9]{10}" *.zone
>>
>>이와 같이 serial 패턴을 반드시 확인해 보세요.
>>
>>그리고 awk 보다는 sed 로
>>
>>sed -e "s/[0-9]\{10\}/2004082701/" foobar.zone >
boobar.zone.new
>>mv -f boobar.zone.new boobar.zone
>>
>>이런식으로 하면 됩니다.
>>
>>반드시 백업해 놓고 하세요
>
>========================================
========================================
|
이전글 : Re: Re: awk 에 대한 질문입니다만..
다음글 : 메일문의
|
from 61.254.75.29
JS(Redhands)Board 0.4 +@
|