2009-09-14 3 views
0
하나의 변수 VAR = 581 우리가 와 값이 앞에 나타납니다 (위치) 주소를 다음에서이 변수의 값을 복사해야 $$ DRM45_RowCount

것은 다음 유닉스에서 구현해야

\ ncsusnasent02.na.jnj.com \ its_diq_na_win_dev \ PowerCenter를 \ infa_shared \ WCPIT_BIO_EDW \ PrmFiles \ LND \ IMS_FILE_to_LND.par

을 다음과 같이 데이터가 IMS_FILE_to_LND.par 나는이 파일을 열 때 이다

awk -va=99 '{ 
    if (substr($0,1,17) == "$$DRM45_RowCount=") { 
     print "$$DRM45_RowCount=" a 
    } else { 
     print 
    } 
}' 

-va=99 컨트롤 : 당신은 그냥 $$DRM45_RowCount의 값을 바꾸려면

[WCPIT_BIO_EDW.WF:w_DDDMD_LNDG_IMS_NONRET_SALES] 
$$Cust_RowCount=72648 
$$Sales_RowCount=5235998 
$$OuletChangeLog_RowCount=931 
$$DRM45_RowCount=581 
$$Control_RowCount=4495 
$$Outl_Subcat_RowCount=105 
$$Fac_Subcat_RowCount=149 

우리는 다음과 같이 당신이 awk을 사용할 수 있습니다 $$ DRM45_RowCount

+1

예의성은 위대한 일입니다. – xtofl

답변

2

에 대해 581를 업데이트해야 현재 값을 대체 할 값 (이 경우 99로 변경).

다음 테스트 명령 :

echo '[WCPIT_BIO_EDW.WF:w_DDDMD_LNDG_IMS_NONRET_SALES] 
$$Cust_RowCount=72648 
$$Sales_RowCount=5235998 
$$OuletChangeLog_RowCount=931 
$$DRM45_RowCount=581 
$$Control_RowCount=4495 
$$Outl_Subcat_RowCount=105 
$$Fac_Subcat_RowCount=149' | awk -va=99 '{ 
    if (substr($0,1,17) == "$$DRM45_RowCount=") { 
     print "$$DRM45_RowCount=" a 
    } else { 
     print 
    } 
}' 

출력 : 또는

[WCPIT_BIO_EDW.WF:w_DDDMD_LNDG_IMS_NONRET_SALES] 
$$Cust_RowCount=72648 
$$Sales_RowCount=5235998 
$$OuletChangeLog_RowCount=931 
$$DRM45_RowCount=99 
$$Control_RowCount=4495 
$$Outl_Subcat_RowCount=105 
$$Fac_Subcat_RowCount=149 

, 당신은 sed 사용할 수 있습니다

sed 's/^$$DRM45_RowCount=.*$/$$DRM45_RowCount=99/' 

나 :

export a=99 
sed "s/^\$\$DRM45_RowCount=.*$/\$\$DRM45_RowCount=$a/" 
+0

감사의 말을 제외하고 는 다음 문제를 조사 할 수 있습니다. 주된 이슈 링크는 http://stackoverflow.com/questions/1409565/need-to-create-a-shell-script-or-a-command- in-unix-can-do-the-following-pr – Irveen

+0

그것은 "감사합니다"를 받아 들였습니다. ........ :) – Irveen