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

Управляйте текстовыми файлами с помощью простых команд

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

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

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

1, Джастин Тимберлейк, Название 545, Цена 6,30 $
2, Тейлор Свифт, Название 723, Цена 7,90 $
3, Мик Джаггер, Название 610, Цена 7,90 $ 4, Леди Гага, Название 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

Оцените статью
Solutics.ru
Добавить комментарий