Введение
Стандартная утилита UNIX для редактирования потоков данных.
the text processing utility
Утилита обработки текста sed ("редактор потоков") – это утилита Unix, которая анализирует и преобразует текст, используя простой и компактный язык программирования. Она была разработана в 1973–1974 годах Ли Э. Макмахоном из Bell Labs и доступна сегодня для большинства операционных систем. sed была основана на скриптовых возможностях интерактивного редактора ed ("редактор", 1971) и более раннего qed ("быстрый редактор", 1965–1966). Это был один из первых инструментов, поддерживающих регулярные выражения, и до сих пор используется для обработки текста, особенно с командой подстановки. Популярными альтернативными инструментами для манипулирования текстовыми строками и "редактирования потоков" являются AWK и Perl.
and is available today for most operating systems. sed was based on the scripting features of the interactive editor ed ("editor", 1971) and the earlier qed ("quick editor", 1965–66). It was one of the earliest tools to support regular expressions, and remains in use for text processing, most notably with the substitution command. Popular alternative tools for plaintext string manipulation and "stream editing" include AWK and Perl.
Команда замены
Следующий пример демонстрирует типичное и наиболее частое применение sed: подстановка. Именно это применение изначально и послужило мотивацией для создания sed:
Ограничения и альтернативы
Хотя sed прост и ограничен, он достаточно мощный для решения широкого круга задач. Для более сложной обработки обычно используются более мощные языки, такие как AWK или Perl. Они особенно полезны, когда преобразование строки требует большего, чем извлечение по регулярному выражению и замена по шаблону, хотя теоретически произвольно сложные преобразования возможны с использованием буфера удержания. В то же время, для более простых операций часто предпочтительнее специализированные утилиты Unix, такие как grep (вывод строк, соответствующих шаблону), head (вывод начала файла), tail (вывод конца файла) и tr (преобразование или удаление символов). Для задач, для которых они предназначены, такие специализированные утилиты обычно проще, понятнее и быстрее, чем более универсальное решение, такое как sed. Команды и синтаксис ed/sed продолжают использоваться в производных программах, например, в текстовых редакторах vi и vim. Аналогом ed/sed является связка sam/ssam, где sam – это редактор Plan 9, а ssam – потоковый интерфейс к нему, обеспечивающий функциональность, схожую с sed.