Skip to main content

Примеры использования команды Sed Linux

Sed и awk — Виктор Ашик (Июнь 2026)

Sed и awk — Виктор Ашик (Июнь 2026)
Anonim

Операционная система Linux использует команды терминала для работы с файловой системой компьютера. Основное использование команды Linux СЕПГ, который является коротким для редактора потока, заключается в изменении каждой строки файла или потока путем замены указанных частей строки. Он вносит основные изменения текста в файл или ввод из конвейера. Например, скажем, у вас есть файл с именем «songs.text», который содержит следующие строки:

1, Джастин Тимберлейк, Титул 545, Цена $ 6,302, Тейлор Свифт, Титул 723, Цена: $ 7.903, Мик Джаггер, Титул 610, Цена: $ 7.904, Леди Гага, Название 118, Цена $ 6.305, Джонни Кэш, Название 482, Цена $ 6,506, Элвис Пресли, Название 335, Цена $ 6,307, Джон Леннон, Название 271, Цена $ 7,90

Выполнение текстовых заметок с помощью Sed

Если вы хотите изменить все ценовые вхождения от 6,30 до 7,30 долларов, вы можете внести изменения с помощью команды sed таким образом:

sed 's / 6.30 / 7.30 /' songs.txt> songs2.txt

Этот код производит изменение и записывает измененный файл в файл "songs2.txt". Выходной файл содержит:

1, Джастин Тимберлейк, Название 545, Цена $ 7.302, Тейлор Свифт, Титул 723, Цена: $ 7.903, Мик Джаггер, Титул 610, Цена: $ 7.904, Леди Гага, Название 118, Цена $ 7.305, Джонни Кэш, Название 482, Цена $ 6,506, Элвис Пресли, Название 335, Цена $ 7.307, Джон Леннон, Название 271, Цена $ 7,90

Если вы хотите заменить все вхождения «Наличные» на «Корзина», вы используете:

sed 's / Cash / Trash /' songs.txt> songs2.txt

который создает файл с контентом:

1, Джастин Тимберлейк, Название 545, Цена $ 7: 302, Тейлор Свифт, Титул 723, Цена: $ 7.903, Мик Джаггер, Титул 610, Цена: $ 7.904, Леди Гага, Название 118, Цена $ 7: 305, Johnny Trash, Название 482, Цена $ 6,506, Элвис Пресли, Название 335, Цена $ 7: 307, Джон Леннон, Название 271, Цена $ 7,90

Фильтрация с помощью команды Sed

Sed также часто используется для фильтрации строк в файле или потоке. Например, если вы хотите видеть строки, содержащие «Джон», вы используете:

sed -n '/ John / p' songs.txt> johns.txt

который записывает следующие строки в файл johns.txt:

5, Johnny Trash, Название 482, Цена $ 6,507, Джон Леннон, Название 271, Цена $ 7,90