這就是我目前所做的:
pass1=$(grep DB_PASSWORD /home/user/public_html/wp-config.php | cut -d ' ' -f3)
# it echoes 'password' with start and end single quotes
pass=${pass1:1:-1}
# it remove single quotes from start and end
但我想一次將這兩個命令結合起來。
我嘗試了一些錯誤的命令,這些命令向我展示了grep.
uj5u.com熱心網友回復:
你可以使用awk:
pass=$(awk -F"'" '/DB_PASSWORD/{print $4}' /home/user/public_html/wp-config.php)
我只是定義'為欄位分隔符,這使密碼成為第 4 個欄位。
uj5u.com熱心網友回復:
使用sed您可以匹配整行并匹配雙引號之間的 DB_PASSWORD 欄位,并在捕獲組中捕獲雙引號之間的下一個欄位的內部文本。
在替換使用捕獲組 1。
pass=$(sed -En "s/^.*'DB_PASSWORD'[^']*'([^'] )'.*/\1/p" /home/user/public_html/wp-config.php)
或者 ss 您的欄位由空格分隔,您還可以使用 獲取第三個欄位awk,其中\x27匹配可以用空字串替換的單引號:
pass=$(awk '/DB_PASSWORD/{gsub("\x27", "", $3);print $3}' /home/user/public_html/wp-config.php)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/516463.html
標籤:linuxgrep切
上一篇:linux
