如何使用变量进行搜索以匹配任何字符串 - shell [英] How to search using variable to match any string - shell

查看:27
本文介绍了如何使用变量进行搜索以匹配任何字符串 - shell的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用变量搜索字符串的一部分并赋值给新的变量

How to search part of the string using variable and assign to new variables

我的搜索变量是:db_uni_name=testdb_iac3bd

我的 Oratab 文件是:

My Oratab File is:

+ASM1:/u01/app/12.2.0.1/grid:N
oidiaddb:/u02/app/oracle/product/12.2.0/dbhome_2:Y
testdb:/u02/app/oracle/product/12.2.0/dbhome_3:Y
oradb:/u02/app/oracle/product/12.2.0/dbhome_4:Y

我想搜索 $db_uni_name 以找到匹配的数据库名称和路径

I want to search $db_uni_name to find matching db name and path

在这种情况下,我想搜索 testdb 并分配如下:

In this case, i want to search for testdb and assign as follows:

DB_NAME=testdb
ORACLE_HOME=/u02/app/oracle/product/12.2.0/dbhome_3

推荐答案

试试这个:

mayankp@mayank:~/Documents$ DB_NAME=$(echo $db_uni_name | grep `awk -F'_' '{print $1}'` Oratab.txt | awk -F ':' '{print $1}')
mayankp@mayank:~/Documents$ echo $DB_NAME
testdb
mayankp@mayank:~/Documents$ ORACLE_HOME=$(echo $db_uni_name | grep `awk -F'_' '{print $1}'` Oratab.txt | awk -F ':' '{print $2}')
mayankp@mayank:~/Documents$ echo $ORACLE_HOME 
/u02/app/oracle/product/12.2.0/dbhome_3

如果这有帮助,请告诉我.

Let me know if this helps.

这篇关于如何使用变量进行搜索以匹配任何字符串 - shell的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆