2014-03-06 2 views
1

텍스트 파일의 다양한 요소를 변경하는 스크립트가 있습니다. 게임 설정이므로 플레이어가 선택한 수준에 따라 변경해야합니다. 기본적으로 하나의 파일을 가져 와서 정리 한 다음 각 레벨에 대해 두 개의 시작 파일을 생성합니다.sed unterminated address regex

이 코드 조각이 잘 작동하지만 후속 행이 완료하지 내가 에 대한 메시지 내용은 "나오지도 : 파일 SCR 행 4 : 종료되지 않은 주소 정규식" : -

lines=`cat -n temp1 | grep TeamID= | grep -v TeamID=0 | awk '{print $1}'` 

# Nothing to add for Noble/Prince 
cp temp1 $noble_game_huts 

echo "Creating Monarch" 
# Monarch - adding TECH_ARCHERY 
rm -f scr 
for i in `echo $lines` 
do 
    echo $i"a\\" >> scr 
    echo "\tTech=TECH_ARCHERY 
">> scr 
done 

sed -f scr temp1 > temp2 
sed '0,/Handicap=HANDICAP_NOBLE/s/Handicap=HANDICAP_NOBLE/Handicap=HANDICAP_MONARCH/' temp2 > "$monarch_game_huts" 

내가 검색 한 구글 이 사이트에는 도움이 될만한 많은 히트 곡이 있지만

bash를 사용하여 Linux Mint 16에서이 스크립트를 실행합니다.

감사합니다.

앨런

+0

우리에게 문제의 원인이되는'scr' 파일을 제시해주십시오 (이 문제에 대한되지 않음)도

echo "${i} a\\\n\tTech=TECH_ARCHERY\n" >> scr 

을 제안 작업 전에 공간이 필요합니다. –

+0

'\ t'는'sed'에 의해 탭으로 확장되지 않을 것이지만, 작은 따옴표를 사용하지 않는 한 셸에 의해 백 슬래시가 제거됩니다. – user2719058

+0

'scr' 파일의 내용을 게시 할 수 있습니까? –

답변

1

추출 된 라인은이 라인 수에 따라 텍스트를 추가 할 팀에 해당하는 행 번호는, 각 라인은 i 읽을 것 같다.

당신은 내가

lines=`sed -n '/TeamID=[^0]/ =' temp1` 
관련 문제