【发布时间】:2016-11-12 02:39:51
【问题描述】:
我正在尝试使用 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"
有什么建议吗?
【问题讨论】:
-
但是来自
AWK的$3是一个字符串"root",我每次都需要用"username"替换它 -
我建议将
's/$1/"username"/g'替换为's/'"$1"'/"username"/g'。$1不应包含任何 sed 可以解释为命令的特殊字符。 -
我想你想要像
sed 's/'$(awk '/pdo_user/{print $3}' /path/to/application.ini)'/"username"/' /path/to/application.ini这样的东西?祝你好运。 -
@Cyrus 正确 - 我正在搜索
pdo_user,它在 3r 位置包含一些字符串(在本例中,字符串为"root"),我想用"username"替换该字符串(两者字符串包含双引号)