2012-01-11 4 views
1

이 정확한 코드는 다른 스크립트에서 작동하고 있습니다. 나는 함수를 복사했고 이제는 이 unterminated 's'명령 오류를 내고 있습니다. 가능한 값에 대한 요청에 대한 응답으로sed : bash 스크립트에서 unterminated s 명령

sed " 
     [email protected]<%BRANCH-NAME%>@${_loc_name}@g 
     [email protected]<%BRANCH-ADDR%>@${_loc_strt}@g 
     [email protected]<%BRANCH-CTY%>@${_loc_city}@g 
     [email protected]<%CUST-NAME%>@${_pat_name}@g 
     [email protected]<%CUST-ADDR%>@${_pat_addr}@ 
     [email protected]<%CUST-CTY%>@${_pat_city}@ 
     [email protected]<%BARCODE%>@${_barcode}@g 
     [email protected]<%DATE%>@${_date}@ 
     [email protected]<%TITLE%>@${_title}@ 
     [email protected]<%AUTHOR%>@${_auth}@ 
     [email protected]<%PRICE%>@${_price}@" "$_template" 

:

이 거대한 파일이며,이 기능은 for 루프입니다. 우편으로 양식 서식을 지정할 때 사용합니다. 더 많은 정보는 여기에 : BASH: importing data from flat file into template

이 기능은 특정 디렉토리에서 작동하지만이 최근의 문제로 인해 걸렸습니다.

아래 kev의 조언에 따라 슬래시 문자를 제외했습니다 ... '/'를 제외하고 찾을 수 없습니다. 가능하면 '자동'줄 바꿈./그의 어머니

${loc_name} 

판도라 SR 홈 오 C/O 하모니 시청

그래서 c를

${pat_name} 

헤르만 헤세 :

find ./ -name "mail.TMP" -type f -exec grep -E '\n' {} \; 

가능한 값은 다음과 같은 일을 할 것이다. .. 인용문 문제일까요?

+0

'$ {_ loc_name}','$ {_ loc_strt} '등의 변수에'@'문자가 포함되어 있습니까? –

+0

그 점을 살펴 보겠습니다. 감사합니다 – Bubnoff

+0

전체 오류를 붙여주십시오. –

답변

1
$ _loc_name=$'xxx\nyyy' 
$ echo '<%BRANCH-NAME%>' | sed "[email protected]<%BRANCH-NAME%>@${_loc_name}@g" 
sed: -e expression #1, char 21: unterminated `s' command 

$varnewline 포함되어 있습니까? 확인하려면 echo 모두들하세요.

$ echo "$_loc_name" 
xxx 
yyy 
+0

그게 문제라고 생각합니다 ... 실제로 이름 필드예요.,. 이것들은 방대한 파일입니다 --- 방법이 있습니까 – Bubnoff

+0

제가 말했듯이 --- 이것을 둘러싼 방법이 있습니까? – Bubnoff

+2

변수에서 공백을 제거하는 것에 대해 이야기하는 두 개의 기사가 있습니다 (도움이 될 수 있음). [기사 1] (http://stackoverflow.com/questions/369758/how-to-trim-whitespace-from-bash- 변수) 및 [문서 2] (http://stackoverflow.com/questions/324167/remove-whitespace-from-bash-variable). 이 대체 변수가 일부 파일에서 읽혀 있습니까? 그렇다면 기사 1이 원하는 것일 수 있습니다. –

관련 문제