Содержание
Операционная система 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