如何用grep和cut单条命令去除首尾单引号?
合并提取WordPress数据库密码的命令
你可以用以下几种方式将两条命令合并为一条,直接提取不带单引号的数据库密码:
方法1:结合cut与sed去除引号
pass=$(grep DB_PASSWORD /home/user/public_html/wp-config.php | cut -d ' ' -f3 | sed "s/^'//;s/'$//")
sed命令通过两个替换操作,分别去掉开头的'和结尾的'。
方法2:用grep的Perl正则直接提取目标内容
pass=$(grep -oP "DB_PASSWORD.*?'\K[^']+" /home/user/public_html/wp-config.php)
-o只输出匹配的部分-P启用Perl正则语法\K会忽略前面匹配的DB_PASSWORD.*?'内容,直接提取后续直到下一个'之间的字符,一步拿到纯密码。
方法3:用awk分割字段并提取
pass=$(awk -F"[' ]" '/DB_PASSWORD/{print $6}' /home/user/public_html/wp-config.php)
把空格和单引号都设为分隔符,直接定位到密码所在的字段输出。
你之前尝试时出现grep帮助信息,大概率是命令语法错误导致的——比如参数顺序不对、引号未正确转义,或者管道后的命令格式有误。
内容的提问来源于stack exchange,提问作者Saeed
相关产品推荐
相关产品推荐

