Шпаргалка по командам 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.