쉘스크립트의 ex 스크립트 작성중에 :.,$d 가 잘 안되요.

leeki07의 이미지

쉘스크립트를 공부하여 사내장비 로그분석할때 응용하려 합니다.

우분투에서 테스트 중에 원하는 데로 결과가 안나와서 문의 드립니다.

[쉘스크립트파일이름은 "hoho.sh"]
ex $1 > /dev/null << woof
/$2
/100.sh
:1,.d
/101.sh
:.,$d
:wq $2
woof

상기와 같이 쉘스크립트를 작성하여
sh hoho.sh 20190316.log SN1234

실시하면
/1,.d 까지는 잘 실행되어 첫번째 행부터 100.sh가 검색된 행까지 삭제가 됨
101.sh까지 잘 검색되었을것으로 추정되나
/.,$d 는 실행되니 않고 그냥 $2 로 저장되어 끝이 남니다.

검색된 행부터 마지막행까지 지우는 다른 방법이 없나요?

leeki07의 이미지

쉘스크립트 제일위에
d='$d'
한줄 추가하니 원하는 데로 결과가 나왔습니다.

chanik의 이미지

$d가 변수로 해석되는 걸 막으면 되니까
\$ 식으로 이스케이프시켜주거나, $ 뒤에 공백을 하나 주셔도 되네요

:.,\$d

:.,$ d