Java 속성 파일에 변수 대체를 수행하는 스크립트를 작성하고 있는데이 형식은 name = value 형식입니다.Bash loop - 단어가 아닌 라인에서 토큰 화
TEST_ENV_1=test environment variable one
TEST_ENV_2=http://test.environment.com/one
#this is a comment with an equal sign=blah
TEST_ENV_3=/var/log/test/env/2.log
내 스크립트 등 "테스트 환경 변수 중 하나"로 파일 dest.env에 TEST_ENV_1의 모든 선두로부터 교체 것 :이 같은 source.env, 소스 파일이 있습니다.
내가 한 번에 라인을 처리하는, 그리고 나오지도 또는 그렙 같은 명령의 출력에 반복하는 것이 아니라 전체 라인보다 공백에 토큰 화하기 때문에 문제가 발생 :
$ for i in `sed '/^ *#/d;s/#.*//' source.env`; do
echo $i
done
TEST_ENV_1=test
environment
variable
one
TEST_ENV_2=http://test.environment.com/one
TEST_ENV_3=/var/log/test/env/2.log
어떻게 할 그들을 줄로 대우하니? 내가 할 수 있기를 원하는 것은 각 줄을 "="기호로 분리하고 source.env 파일을 기반으로하는 대체 정규 표현식을 사용하여 sed 스크립트를 작성하는 것입니다.
굉장한,이 작업 완료. 감사!! – purecharger
사실,이 질문에 간결하게 대답합니다. –