쉘스크립트_특정문자 변환하여 저장
글쓴이: kjlee98m / 작성시간: 화, 2014/10/07 - 1:50오후
## cat max.conf
MAX 9999
## cat a.sh
#/bin/bash
RESULT=$(awk '/^MAX/{print $2}' ./max.conf)
if [ ${RESULT} -gt 90 ] # MAX 의 설정값이 90 이상일 경우
then
echo "OVER"
# >>>>>>>>>>>> 추가되어야할 위치 ( 권하는 값 90으로 변경하여 저장 )
fi
sed 로 쿵작쿵작 하는데 쉽지않네요 ㅠ
위와 같은 max.conf 를 가진 시스템이 있을때 9999 -> 90 으로 변경 저장 하고 싶습니다
(MAX 와 9999 띄어쓰기는 일정치않고, 9999 숫자의 자릿수 역시 달라질수있습니다 ex. 91)
도움 부탁드려요 ㅠ,.ㅠ
Forums:
이렇게하면될까요??
검색해서 좀 해봤습니다
--------------------
#!/bin/bash
RESULT=$(awk '/^MAX/{print $2}' ./max.conf)
if [ ${RESULT} -gt 90 ]
then
echo "OVER"
sed "/MAX/s/${RESULT}/90/" ./max.conf > ./max.conf.tmp
fi
--------------------
이런식이면 될까요?
아래와 같이 하시면 될 듯 합니다sed -i -r
아래와 같이 하시면 될 듯 합니다
스크립트 없이 oneline으로 처리하실려면
답변감사합니다 but
답변감사합니다
제가 적어놓은 결과값이랑 약간 다르게 나오네요
(띄어쓰기 차이)
# cat max.conf
MAX 99999
BBB 9
# sh a.sh (제가 적은 스크립트 실행)
OVER
# cat max.conf.tmp
MAX 90
BBB 9
# sed -i -r 's/^(MAX).*/\1 90/' ./max.conf
# cat max.conf
MAX 90
BBB 9
띄어쓰기 차이가 발생하네요
.tmp copy 말고 띄어쓰기 해결하는 법은 없을까요???
regex 코드만 살짝 바꿔주면 됩니다.sed
regex 코드만 살짝 바꿔주면 됩니다.
댓글 달기