2014-10-16 35 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