LINUX.ORG.RU

Ответ на: комментарий от beresk_let

я пытался, но опыта с ним мало, например я попытался

sed -i '/$db_username/s/^//' /var/www/tracker/config/config_inc.php

Таким образом комментарий не проставился, тогда я попытался

sed -i '/$g_db_username/s/^/\//\/' /var/www/tracker/config/config_inc.php

И получил

sed: -e выражение #1, символ 24: неизвестный модификатор к `s'

Ну и дальше не понял как заставить сед прописать 2 слеша

The_Newbe ()
Ответ на: комментарий от The_Newbe

Неправильное экранирование, надо так (s/^/\//\/ -> s/^/\/\//):

sed -i '/$g_db_username/s/^/\/\//' /var/www/tracker/config/config_inc.php
Можно и без экранирования обойтись, если другой разделитель использовать:
sed -i '/$g_db_username/s!^!//!' /var/www/tracker/config/config_inc.php

xaizek ★★★★★ ()
Ответ на: комментарий от The_Newbe

потому что ЛОР кавычки меняет, естественно это awk '/your pattern to match lines/ {print "//", $0}'

yoghurt ★★★★★ ()
Последнее исправление: yoghurt (всего исправлений: 2)
Ответ на: комментарий от The_Newbe
s/^/\/\//

s — команда
/ — разделитель
^ — что искать
/ — разделитель
\/\/ — на что заменять
/ — разделитель

s!^!//!

s — команда
! — разделитель
^ — что искать
! — разделитель
// — на что заменять
! — разделитель
xaizek ★★★★★ ()

Эм... А не городить бэкслэши не?

sed -i '/\$g_db_username/ s!^!// !g' /var/www/tracker/config/config_inc.php

berrywizard ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.