所以,我正在研究一个基本的Wordpress bash脚本,我需要从wp-config.php文件中获取数据库信息。
我已设法grep数据库信息,但我遇到了正则表达式的问题,只能获取数据库名称或用户。
root@server [/home/user/public_html/]# grep -Ei "DB" wp-config.php | awk '{print $2}' | sed s/\'//g
user_mywp);
user_mywp);
mydbpassword);
这就是我尝试过但我确信那太可怕了。
以下是原始输出的外观,只有 grep DB wp-config.php
define('DB_NAME', 'user_mywp');
define('DB_USER', 'user_mywp');
define('DB_PASSWORD', 'mydbpassword');
答案 0 :(得分:1)
不需要grep,只需使用awk one-liner:
awk -F "[,() ']+" '$2 ~ /^DB_/{print $3}' wp-config.php
user_mywp
user_mywp
mydbpassword
更新:一次获取一个值:
> awk -F "[,() ']+" '$2 == "DB_NAME" {print $3}' wp-config.php
user_mywp
> awk -F "[,() ']+" '$2 == "DB_USER" {print $3}' wp-config.php
user_mywp
> awk -F "[,() ']+" '$2 == "DB_PASSWORD" {print $3}' wp-config.php
mydbpassword
说明:此awk使用字段分隔符[,() ']+
,[ and ]
中列出的一个或多个字符只会在$2, $3
等中获取感兴趣的数据。