Форум — General sed. вырезание строк со слэшем sed, variable, ошибка 0 1 string=$(cat var) sed -i "/$string/d" file выдаёт ошибку sed: -e expression #1, char 123: extra characters after command Номер char соответствует символу после слэша в строке. Слэш может быть в разных местах. Как правильно скормить переменную в sed? Ссылка
sed -i «/$string/d» file Не очень тебя понял, но sed допускает другие разделители, например sed -i "%$string%d" file. ox55ff ★★★★★ (04.12.21 14:59:22 MSK) Показать ответ Ссылка
Ответ на: комментарий от ox55ff 04.12.21 14:59:22 MSK sed: -e expression #1, char 1: unknown command `%' vachicul (04.12.21 15:04:12 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от vachicul 04.12.21 15:04:12 MSK sed 's@$string@d@" Legioner ★★★★★ (04.12.21 15:05:55 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 04.12.21 15:05:11 MSK Просто выводит содержание file vachicul (04.12.21 15:08:53 MSK) автор топика Ссылка
Ответ на: комментарий от Legioner 04.12.21 15:05:55 MSK Нет опечатки? Сделал с одинаковыми кавычками, строки заменяет на «d», но не вырезает их. vachicul (04.12.21 15:13:58 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от vachicul 04.12.21 15:13:58 MSK Неправильно прочитал вопрос, извиняюсь. Тогда могу только предложить попробовать экранировать слеши с помощью \ прежде чем передавать в sed переменную. Legioner ★★★★★ (04.12.21 15:22:28 MSK) Последнее исправление: Legioner 04.12.21 15:22:36 MSK (всего исправлений: 1) Ссылка
Или вот так попробуй, должно сработать: sed -i "\\@$string@d" file Legioner ★★★★★ (04.12.21 15:27:37 MSK) Показать ответ Ссылка
Ответ на: комментарий от Legioner 04.12.21 15:27:37 MSK WORKS! А я уже начал писать скрипт v1=$(echo $str | cut -d "/" -f1) v2=$(echo $str | cut -d "/" -f2) finishstr=$(echo "$v1\\/$v2") vachicul (04.12.21 15:38:50 MSK) автор топика Последнее исправление: vachicul 04.12.21 15:39:14 MSK (всего исправлений: 2) Ссылка