AWK管道输出到SED进行更换

时间:2016-11-10 20:09:50

标签: awk sed

我正在尝试使用AWK管道将字符串替换为SED

grep pdo_user /html/data/_default_/configs/application.ini | awk '{print $3}' | sed -i 's/$1/"username"/g' /html/data/_default_/configs/application.ini

但发现字符串未被替换

的输出

grep pdo_user /html/data/_default_/configs/application.ini | awk '{print $3}'

"root"

有关于此的任何提示吗?

2 个答案:

答案 0 :(得分:2)

我建议使用awk和mv:

awk '/pdo_user/ && $3=="\"root\"" {$3="\"username\""}1' /path/to/application.ini > /path/to/application.tmp
mv /path/to/application.tmp /path/to/application.ini

答案 1 :(得分:0)

基于Shelter使用AWK和SED

提示的工作解决方案
sed -i 's/'$(awk '/pdo_user/{print $3}' /path/to/application.ini)'/"username"/' /path/to/application.ini