[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-rabota-v-cli-bash-kak-ispolzovat-sed-dlya-obrabotki-teksta":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":21,"progress":22,"seo":23},156,"kak-ispolzovat-sed-dlya-obrabotki-teksta",4,"rabota-v-cli-bash","Работа в CLI (Bash)","💻","Как использовать sed для обработки текста?","**`sed`** (Stream Editor) — потоковый редактор для преобразования текста. Читает текст построчно, применяет правила и выводит результат, не загружая весь файл в память.\n\n### Аналогия\n\n`sed` — это корректор текста на конвейере: каждая страница (строка) проезжает мимо него, он вносит исправления по заданным правилам и отправляет дальше. Оригинал при этом можно не трогать.\n\n### Замена текста (s — substitute)\n\n```bash\n# Базовая замена (первое вхождение в каждой строке)\nsed 's\u002Fold\u002Fnew\u002F' file.txt\n\n# Глобальная замена (все вхождения в каждой строке)\nsed 's\u002Fold\u002Fnew\u002Fg' file.txt\n\n# Замена с игнорированием регистра\nsed 's\u002Ferror\u002FWARNING\u002Fgi' file.txt\n\n# Замена на месте (изменить сам файл)\nsed -i 's\u002Flocalhost\u002F0.0.0.0\u002Fg' config.yml\n\n# С созданием резервной копии\nsed -i.bak 's\u002Flocalhost\u002F0.0.0.0\u002Fg' config.yml   # Создаст config.yml.bak\n\n# Использование другого разделителя (удобно при работе с путями)\nsed 's|\u002Fusr\u002Flocal\u002Fbin|\u002Fopt\u002Fbin|g' script.sh\nsed 's#http:\u002F\u002F#https:\u002F\u002F#g' urls.txt\n```\n\n### Удаление строк (d — delete)\n\n```bash\nsed '5d' file.txt                # Удалить 5-ю строку\nsed '3,7d' file.txt              # Удалить строки с 3 по 7\nsed '$d' file.txt                # Удалить последнюю строку\nsed '\u002F^#\u002Fd' config.txt           # Удалить комментарии (строки, начинающиеся с #)\nsed '\u002F^$\u002Fd' file.txt             # Удалить пустые строки\nsed '\u002FDEBUG\u002Fd' app.log           # Удалить строки, содержащие \"DEBUG\"\n```\n\n### Вставка и добавление\n\n```bash\nsed '3i\\Новая строка' file.txt   # Вставить перед 3-й строкой (insert)\nsed '3a\\Новая строка' file.txt   # Вставить после 3-й строки (append)\nsed '1i\\#!\u002Fbin\u002Fbash' script.sh   # Добавить shebang в начало скрипта\n```\n\n### Работа с диапазонами\n\n```bash\n# Замена только в строках 10-20\nsed '10,20s\u002Ffoo\u002Fbar\u002Fg' file.txt\n\n# Замена между двумя паттернами\nsed '\u002FBEGIN\u002F,\u002FEND\u002Fs\u002Fold\u002Fnew\u002Fg' file.txt\n```\n\n### Практические примеры\n\n```bash\n# Убрать пробелы в конце строк\nsed 's\u002F[[:space:]]*$\u002F\u002F' file.txt\n\n# Заменить версию в pom.xml\nsed -i 's\u002F\u003Cversion>1.0.0\u003C\\\u002Fversion>\u002F\u003Cversion>1.1.0\u003C\\\u002Fversion>\u002F' pom.xml\n\n# Извлечь значение из properties-файла\nsed -n 's\u002F^server\\.port=\\(.*\\)\u002F\\1\u002Fp' application.properties\n\n# Вставить строку после совпадения\nsed '\u002Fspring:\u002Fa\\  profiles:\\n    active: dev' application.yml\n\n# Показать только строки с 10 по 20 (-n подавляет автовывод, p — печатать)\nsed -n '10,20p' file.txt\n```\n\n> **На собеседовании:** интервьюер ожидает знание базового синтаксиса замены `s\u002Fold\u002Fnew\u002Fg`, флага `-i` для редактирования на месте и умение выбирать другой разделитель при работе с путями. Частая ошибка — забывать `g` (без него заменяется только первое вхождение в строке) и не знать про `-i.bak` для безопасного редактирования.","","middle",[15,16,17,18,19,20],"cli","sed","потоковый редактор","linux","обработка текста","bash",[],null,{"title":24,"description":25,"ogTitle":26,"ogDescription":27,"keywords":28,"schemaAnswer":34,"featuredSnippetReady":35},"Команда sed в Linux: потоковый редактор текста — Gymterview","Как использовать sed для обработки текста в Linux: замена строк, удаление, вставка, регулярные выражения. Примеры sed с ключами -i, -n, -e.","Команда sed — потоковая обработка текста в Linux | Gymterview","Разбор команды sed: замена текста (s\u002F\u002F\u002F), удаление строк (d), вставка, адресация по номерам строк и регулярным выражениям.",[16,29,17,30,31,32,33],"sed linux","sed замена","sed примеры","sed -i","обработка текста bash","Sed (stream editor) — потоковый редактор для преобразования текста. Основные операции: s\u002Fold\u002Fnew\u002F — замена, d — удаление строк, i\u002Fa — вставка до\u002Fпосле строки. Поддерживает адресацию по номерам строк и регулярным выражениям. Ключ -i редактирует файл на месте.",true]