리눅스에서 스크립트 작성중....

ejzksnl의 이미지

안녕하세요.
리눅스에서 스크립트 작성중
echo "zend_optimizer.optimization_level=1023" >> /usr/local/lib/php.ini

해당 명령을 통해 해당파일에 자동으로 명령줄을 등록하여 사용하고 있습니다...헌데.. 위에 방식대로 하면 해당 파일의 젤 마지막줄에만 추가가 됩니다..제가 궁금한 것은 해당 파일 특정 몇째줄에 삽입하려고 하는데.. 그건 어떻게 해야하는지.. 고수님들의 답변 부탁드립니다..감사합니다 오늘도 좋은 하루 되세요.

Fe.head의 이미지

#!/bin/sh

INPUT_FILE="test.txt"
NEW_FILE="test_new.txt"
INSERT_LINE=10
INSERT_CONTEXT="삽입할 내용"

# 파일의 라인 알아 내기
total_lines=$(wc -l ${INPUT_FILE} |awk '{print $1}')

# 삽입할 위치 라인 알아내기(여기서는 10라인에 삽입한다고 가정)
insert_line=${INSERT_LINE}

# 10 라인까지 새파일에 삽입
head -${insert_line} ${INPUT_FILE} > ${NEW_FILE}

# 추가할 라일을 새파일에 삽입
echo ${INSERT_CONTEXT} >> ${NEW_FILE}

# 10라인 이후의 것들을 새파일에 삽입.
tail -$((total_lines-insert_line)) ${INPUT_FILE} >> ${NEW_FILE}

# 전 파일 삭제
rm -f ${INPUT_FILE}

# 새파일이름 바꾸기.
mv ${NEW_FILE} ${INPUT_FILE}

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

alfalf의 이미지

예를 들어 내용이 삽입되기 원하는 위치가 10번째 줄이면
sed -i '10izend_optimizer.optimization_level=1023' /usr/local/lib/php.ini

Fe.head의 이미지

헉. .. 아니 저런 방법이^^

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

익명 사용자의 이미지

fehead,alfalf님 감사합니다.
좋은 하루되세요^^