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

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

Примеры использования ‘Sed’ для внесения изменений в текстовые файлы

Допустим, у вас есть файл с именем songs.txt, который содержит следующие строки:

1, Джастин Тимберлейк, титул 545, цена $ 6,30 
2, Тейлор Свифт, титул 723, цена $ 7,90
3, Мик Джаггер, название 610, цена $ 7,90
4, Lady Gaga, Title 118, Цена $ 6.30
5, Джонни Кэш, название 482, цена $ 6.50
6, Элвис Пресли, титул 335, цена $ 6,30
7, Джон Леннон, название 271, цена $ 7,90

Вы хотите изменить все вхождения цены от $ 6,30 до $ 7,30. Для этого используйте команду sed следующим образом:

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

Этот код вносит изменения и сохраняет измененный файл как song2.txt. Полученный новый файл содержит:

1, Джастин Тимберлейк, титул 545, цена $ 7,30
2, Тейлор Свифт, титул 723, цена $ 7,90
3, Мик Джаггер, название 610, цена $ 7,90
4, Lady Gaga, Title 118, цена $ 7.30
5, Джонни Кэш, название 482, цена $ 6.50
6, Элвис Пресли, титул 335, цена $ 7,30
7, Джон Леннон, название 271, цена $ 7,90

Если вы хотите заменить все вхождения «Cash» на «Trash», вы также можете использовать команду sed следующим образом:

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

Полученный измененный файл song2.txt будет содержать следующий текст:

1, Джастин Тимберлейк, титул 545, цена 7:30
2, Тейлор Свифт, титул 723, цена $ 7,90
3, Мик Джаггер, название 610, цена $ 7,90
4, Lady Gaga, название 118, цена $ 7: 30
5, Джонни Траш, название 482, цена $ 6.50
6, Элвис Пресли, титул 335, цена $ 7: 30
7, Джон Леннон, название 271, цена $ 7,90

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

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

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

Новый файл johns.txt будет содержать следующие строки:

5, Джонни Кэш, название 482, цена $ 6.50
7, Джон Леннон, название 271, цена $ 7,90
Ссылка на основную публикацию