shell - 如何使用变量进行搜索以匹配任何字符串 - shell
问题描述
如何使用变量搜索部分字符串并分配给新变量
我的搜索变量是:db_uni_name=testdb_iac3bd
我的 Oratab 文件是:
+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
以找到匹配的数据库名称和路径
在这种情况下,我想搜索 testdb 并分配如下:
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
让我知道这是否有帮助。
推荐阅读
- c# - 500 从 .net core 2.1 调用标量数据库函数时出错
- reactjs - 将 FilterText 或 Search 输入实现到 reactjs 应用程序
- r - R人口统计学包消息长度中的read.demogdata
- javascript - 如何让 IFrame 一次重绘所有内容
- dynamics-crm - 用于合并创建线索的插件
- mysql - 使用 MYSQL 提取文本列的一部分
- bash - bash 解析空格分隔的文本文件
- apache - 当存在同名文件时,Htaccess 正在匹配目录
- excel - Vlookup 并求和一个包含逗号分隔值的单元格
- vb.net - 如何使用 DataGridView.AutoGenerateColumns = False 创建我自己的列