需要将文件中的字符串替换为file2

时间:2014-10-16 14:37:09

标签: ksh

大家好,

我有两个文件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

1 个答案:

答案 0 :(得分: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