2014-10-11 2 views
2

그래서이 질문을 보았습니다 : Replace complete line getting number from variable 꽤 비슷하지만 여러 변수를 사용하려고합니다. 하나는 줄 번호 [lineNo], [transFormatted]를 대체 할 텍스트와 찾고자하는 파일 [OUTPUT_FILE] 나는 이러한 모든 변수를 인식하도록하기 위해 수십 가지의 조합을 시도했지만 아무것도 작동하지 않습니다. 어떤 방법을 사용해도 불행합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?Bash : 가변 행 번호와 변수를 사용하는 sed와 줄 바꾸기의 변수

sed -e '${lineNo}s/.*/${transFormatted}/' < $OUTPUT_FILE 

답변

2

작은 따옴표는 매개 변수 확장을 금지합니다.

sed -e "${lineNo}s/.*/$transFormatted/" < "$OUTPUT_FILE" 
+0

여전히 "sed : -e expression # 1, char 36 : 's'에 알 수없는 옵션이 있습니다." – kusold

+0

다른 문제가 있습니다. –

+0

변수 확장과 관련이 있다고 생각합니다. 왜냐하면 s 옵션이 lineNo에 대한 변수 확장이 좋지 않다고 말하는 것이기 때문입니다. 나는 그것을 바로 전에 반향했고 그것이 유효한 정수를 뱉어 내고 있음을 안다. – kusold

1

쉘 환경에서 변수를 확장하려면 큰 따옴표를 사용해야합니다.

관련 문제