новые строки 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 как другую новую строку вместо части строки.

0
задан 3 November 2018 в 20:42

1 ответ

Как отмечено в руководстве GNU Sed для команды i\text:

Escape-последовательности в тексте обрабатываются, поэтому вы должны использовать \ in text для печати одного обратной косой черты.

Следовательно, чтобы вставить буквенную последовательность \n, вам нужно будет использовать \\n

0
ответ дан 27 October 2019 в 05:41

Другие вопросы по тегам:

Похожие вопросы: