2014-10-16 51 views
0

大家好,需要更換從文件1串到file2

我有兩個文件ft2源和sqll.ksh作爲目的地。

我的需求是將control=raja更改爲control=kartik1等等。

kmariappan $ cat ft2.txt 
karthik1 
karthik2 
karthik3 

kmariappan $ cat sqll.ksh 
sqlldr aja/raja123 control=raja log=ssed.log 
sqlldr aja/raja123 control=raja1 log=ssed.log 
sqlldr aja/raja123 control=raja2 log=ssed.log 

expected output 

sqlldr aja/raja123 control=karthik log=ssed.log 
sqlldr aja/raja123 control=karthik1 log=ssed.log 
sqlldr aja/raja123 control=karthik2 log=ssed.log 
+0

這是一個時間的事情結束了嗎?你不能只使用文本編輯器,並找到並替換? – ariscris 2014-10-16 15:05:02

+0

只有unix命令其他ksh去:( – KarthikRAja 2014-10-16 15:07:55

回答

0
awk ' 
    NR==FNR {name[NR]=$1; next} 
    {sub(/control=[^[:blank:]]+/, "control=" name[FNR]); print} 
' ft2 sqll.ksh 

如果你滿意它的工作,將其添加到命令

> sqll.new && mv sqll.new sqll.ksh 
+0

非常感謝@glenn – KarthikRAja 2014-10-16 21:04:44