相关疑难解决方法(0)

我们可以在awk中使用shell变量吗?

我们可以使用shell变量AWK像$VAR代替$1,$2?例如:

UL=(AKHIL:AKHIL_NEW,SWATHI:SWATHI_NEW)

NUSR=`echo ${UL[*]}|awk -F, '{print NF}'`
echo $NUSR
echo ${UL[*]}|awk -F, '{print $NUSR}'
Run Code Online (Sandbox Code Playgroud)

实际上我是一个oracle DBA,我们得到了很多导入请求.我正在尝试使用脚本自动化它.该脚本将查找转储中的用户并提示需要加载转储的用户.

假设转储有两个用户AKHIL,SWATHI(有可在转储可能的用户,我希望进口更多的用户数).我想将转储导入新用户AKHIL_NEWSWATHI_NEW.所以要阅读的输入有些想法AKHIL:AKHIL_NEW,SWATHI:SWATHI_NEW.

首先,我需要找到要创建的用户数,然后我需要AKHIL_NEW,SWATHI_NEW从我们给出的输入中获得新用户.这样我就可以连接到数据库并创建新用户然后导入.我没有复制整个代码:我只是从接受输入用户的地方复制了代码.

UL=(AKHIL:AKHIL_NEW,SWATHI:SWATHI_NEW) ## it can be many users like     USER1:USER1_NEW,USER2_USER2_NEW,USER3:USER_NEW..

NUSR=`echo ${UL[*]}|awk -F, '{print NF}'` #finding  number of fields or users
y=1
while [ $y -le $NUSR ] ; do
    USER=`echo ${UL[*]}|awk -F, -v NUSR=$y  '{print $NUSR}' |awk -F: '{print $2}'` #getting     Users to created …
Run Code Online (Sandbox Code Playgroud)

awk

47
推荐指数
4
解决办法
7万
查看次数

标签 统计

awk ×1