Skip to content

Шпаргалка по командам Sed

Sed — это потоковый редактор, используемый для выполнения базовых преобразований и операций с текстом. Это один из самых мощных инструментов обработки текста в системах Unix.

Базовые команды

sed 's/old/new/' file

Заменяет первое вхождение “old” на “new” в файле.

sed 's/old/new/g' file

Заменяет все вхождения “old” на “new” в файле.

sed -n 'p' file

Печатает только содержимое файла.

sed 'd' file

Удаляет содержимое файла.

sed '2d' file

Удаляет вторую строку файла.

sed '2,4d' file

Удаляет строки со второй по четвертую в файле.

sed '/pattern/d' file

Удаляет строки, содержащие шаблон.

sed -i 's/old/new/g' file

Выполняет замену в файле и сохраняет изменения.

Продвинутые команды

sed -e 'command1' -e 'command2' file

Выполнение нескольких команд.

sed -f script.sed file

Чтение команд из файла сценария.

sed 's/old/new/2' file

Заменяет только второе совпадение.

sed 's/old/new/3g' file

Заменяет все совпадения, начиная с третьего.

sed 's/\(old\)/\U\1/g' file

Заменяет все “old” на заглавные буквы.

sed 's/\(old\)/\L\1/g' file

Заменяет все “old” на строчные буквы.

sed 's/\(old\)/\E\1/g' file

Заменяет все “old” на заглавные буквы и восстанавливает регистр после замены.

sed 's/\(old\)/\e\1/g' file

Заменяет все “old” на строчные буквы и восстанавливает регистр после замены.

sed 's/old/new/w output.txt' file

Записывает результат замены в файл.

sed -n 's/old/new/p' file

Печатает только замененные строки.

sed -n '/pattern/p' file

Печатает только строки, содержащие шаблон.

sed -n '1,5p' file

Печатает только строки с первой по пятую.

Шаблоны пошагового выбора

sed -n 'n~mp' file

Печатает каждую m-ю строку, начиная со строки n.

Примеры:

  • sed -n '1~2p' file: Печатает строки через одну (нечетные строки).
  • sed -n '2~2p' file: Печатает все четные строки.
  • sed -n '1~3p' file: Печатает каждую третью строку, начиная с первой.
  • sed -n 'n~2p' file: Этот шаблон продолжается для любой начальной строки n.