Бързо ръководство за използване на Sed команди в Linux

Въведение в командата Linux sed

Операционната система Linux използва терминални команди, за да работи с файловата система на компютъра. Основното използване на Linux командата sed , което е кратко за редактора на потоци, е да променяте всеки ред на файл или поток, като замените определени части от линията. Той прави основни текстови промени във файл или вход от тръбопровод. Например, кажете, че имате файл с име "songs.text", който съдържа следните редове:

1, Джъстин Тимбърлейк, Дял 545, Цена $ 6.30 2, Тейлър Суифт, Заглавие 723, Цена $ 7.90 3, Мик Джагър, Заглавие 610, Цена $ 7.90 4, Лейди Гага, Заглавие 118, Цена $ 6.30 5, Johnny Cash, Дял 482, Цена $ 6.50 6, Елвис Пресли, Заглавие 335, Цена $ 6.30 7, Джон Ленън, Дял 271, Цена $ 7.90

Осъществяване на заместване на текст с Sed

Ако искате да промените всички ценови прояви от $ 6.30 до $ 7.30, можете да направите промените, като използвате командата sed по следния начин:

седем / 6.30 / 7.30 / 'songs.txt> songs2.txt

Този код прави промяната и записва модифицирания файл в "songs2.txt". Изходният файл съдържа:

1, Джъстин Тимбърлейк, Дял 545, Цена $ 7.30 2, Тейлър Суифт, Заглавие 723, Цена $ 7.90 3, Мик Джагър, Заглавие 610, Цена $ 7.90 4, Лейди Гага, Заглавие 118, Цена $ 7.30 5, Johnny Cash, Дял 482, Цена $ 6.50 6, Елвис Пресли, Заглавие 335, Цена 7,30 лв. 7, Джон Ленън, Заглавие 271, Цена $ 7,90

Ако искате да замените всички случаи на "Cash" с "Trash", използвайте:

Съд / Cash / Trash / 'songs.txt> songs2.txt

който създава файл със съдържание:

1, Джъстин Тимбърлейк, Заглавие 545, Цена $ 7: 30 2, Тейлър Суифт, Заглавие 723, Цена $ 7.90 3, Мик Джагър, Заглавие 610, Цена $ 7.90 4, Lady Gaga, Заглавие 118, Цена $ 7: 30 5, Johnny Trash, Title 482, Цена $ 6.50 6, Елвис Пресли, Заглавие 335, Цена $ 7: 30 7, Джон Ленън, Заглавие 271, Цена $ 7.90

Филтриране с командата Sed

Sed също често се използва за филтриране на линии във файл или поток. Например, ако искате да видите само линиите, съдържащи "Джон", вие използвате:

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

който пише следните редове в файл johns.txt:

5, Johnny Trash, Дял 482, Цена $ 6.50 7, Джон Ленън, Дял 271, Цена $ 7.90