Skip to main content

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

Clay Shirky: How the Internet will (one day) transform government (Април 2025)

Clay Shirky: How the Internet will (one day) transform government (Април 2025)
Anonim

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

1, Джъстин Тимбърлейк, Заглавие 545, Цена 6,30 лв2, Тейлър Суифт, Заглавие 723, Цена $ 7.903, Мик Джагър, Заглавие 610, Цена $ 7.904, Лейди Гага, Заглавие 118, Цена 6,30 лв5, Джони Кеш, заглавие 482, цена $ 6.506, Елвис Пресли, Заглавие 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.903, Мик Джагър, Заглавие 610, Цена $ 7.904, Лейди Гага, Заглавие 118, Цена 7,30 лв5, Джони Кеш, заглавие 482, цена $ 6.506, Елвис Пресли, Заглавие 335, Цена 7,30 лв7, Джон Ленън, Дял 271, Цена $ 7.90

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

Съд / 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