问题描述
您好,我试图从根目录运行ssh bash脚本(该目录可以访问服务器上的所有数百个数据库)。我试图获取我的WordPress网站的数据库名称,而不必登录并打开文件,然后复制并粘贴数据库名称。我这样做是为了继续使用脚本在特定数据库中执行其他操作。
因此,文件wp-config.php中数据库的行项目始终像这样:name define('DB_NAME','xyz');
我只是想找到该订单项,然后稍后在脚本(即$ db)中获取/提取并使用该数据库名称(即xyz)。就是这样。
我假设使用grep / sed / regex或combo或某些方法可以做到,但我不知道如何。让我知道是否有人知道该怎么做?
解决方法
这是适合sed的任务。使用正则表达式选择匹配的定义行,并使用捕获组提取值:
db=$(sed -n "s/define( *'DB_NAME',*'\([^']*\)'.*/\1/p" wp-config.php)
echo $db