쉘 스크립트에서 sed를 사용하여 특성 파일의 특성을 바꾸려고합니다. 아래에 나열된 명령은 완벽하게 작동합니다.sed가 regex로 시작하는 라인을 무시했습니다.
sed "s!${KEY}=.*!${KEY}=${NEWVAL}!" infile > outfile
문제 -이 사람은 주석의 일치하는 "KEY"를 바꿉니다.
예제 파일 :
###########
#ws.clients=http://abc123.com
ws.clients=http://123.com
###########
스크립트
#!/bin/ksh
KEY="ws.clients"
NEWVAL="http://abcd.com"
sed "s!${KEY}=.*!${KEY}=${NEWVAL}!" infile > outfile
출력 :
###########
#ws.clients=http://abcd.com
ws.clients=http://abcd.com
###########
나는 몇 가지 방법을 시도했지만 않네 성공 "#"으로 시작하는 줄을 탈출에 ... 제안?
감사합니다. 중요한 메모로 받아 들일 것입니다. – sid