제 Unix AIX에서 PowerCenter에서 게시 세션을 실행할 셸 스크립트를 사용하여 매개 변수 파일의 날짜를 시스템 날짜로 바꿔야합니다.매개 변수 파일의 날짜를 시스템 날짜로 바꿉니다.
SED를 사용하여 문자열 변수를 대체 할 수 있지만 날짜를 사용하여 문제가 발생했습니다.
구분 기호로 쉼표 대신 쉼표를 사용하려고했습니다. 테스트 파일의 내용은 다음과 같습니다 : 나는 일을한다고 생각
$$TESTFIELD=12/29/2016 14:57:51
나오지도 명령했다 :
sed -e "s,^\($$TESTFIELD=\).*,\1'date +"%D %T"'," testfile.txt > tmp.$$
후 나는 tmp.$$
testfile.txt
로 이동 것이지만 결과는 다음과 같은 오류가 발생했습니다 :
sed: 0602-404 Function s,^\(14680298TESTFIELD=\).*,\1'date +%D cannot be parsed.
큰 따옴표를 사용하고 있으므로'sed -e "s ..."는'$$ TESTFIELD'을 값으로 확장합니다. – fedorqui
'sed에서 날짜 형식을 바꾸는 법 '(http://stackoverflow.com/a/34080390/1983854)을 보시고'sed'에서 외부 명령을 실행하는 방법을보실 수 있습니다. 기본적으로'-e' 플래그를 사용할 필요가 있습니다. – fedorqui
아마도 :'Now = $ (date + "% D % T"); $$'$$' –