sed 使用 \n 作为行文本的一部分的新行

sed 使用 \n 作为行文本的一部分的新行

尝试编写一个新的 sed 命令,该命令将在另一行之前插入新行。

我尝试过但失败的代码是:

sudo sed -i '/# onlynet=ipv4/i echo "rpcallowip='$WebInternalIP'\n";\necho "rpcallowip='$DBInternalIP'\n";\necho "rpcallowip='$StratumInternalIP'\n";' $STORAGE_ROOT/yiimp/site/web/yaamp/modules/site/coin_form.php

新行需要改为:

echo "rpcallowip=$Variable\n"; example, echo "rpcallowip=127.0.0.1\n";

上述代码产生以下结果:

echo "rpcallowip=10.0.0.3
";

因此它将 \n 视为另一个新行而不是行的一部分。

答案1

正如 GNU Sed 手册中对该i\text命令的说明:

转义序列文本被处理,因此您应该在文本中使用 \ 来打印单个反斜杠。

因此,要插入文字序列\n,您需要使用\\n

相关内容