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)
Ответ на: комментарий от xaizek

А вот это сработало. Объясни плз смысл этой конструкции, а то глаза из орбит вылезают, когда смотрю на это

The_Newbe
() автор топика
Ответ на: комментарий от The_Newbe
s/^/\/\//

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

s!^!//!

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

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

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

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