ПредишенСледващото

Научете Linux команди: СЕД

1. Въведение

Добре дошли на втората част от нашата поредица, която е посветена на СЕД, версията GNU. Има няколко версии на SED, които са достъпни на различни платформи, но ние ще се съсредоточи върху GNU СЕД версия 4.x. Много от вас са чували за SED, или са го използвали, най-вероятно като инструмент за замяна. Но това е само един от предназначението СЕД, а ние ще ви покаже всички аспекти на използването на тази програма. Името му означава "Stream Editor" и думата "поток" (поток) в този случай може да означава файл, канал, или просто стандартния вход. Надяваме се, че вече имате основни познания за Linux, както и ако сте работили с регулярни изрази, или поне знам какво е, а след това всички от вас ще бъде много по-лесно. Обемът не позволява да се включи подробно ръководство за регулярни изрази, вместо ние ще звучи основните понятия и да даде много примери за използване на СЕД.

2. Инсталиране

Не е необходимо да се говори много. По-скоро всичко, което ви СЕД вече инсталиран, защото тя се използва от различни системни скриптове, както и потребители на Линукс, които искат да подобрят своите резултати. Можете да разберете коя версия на SED сте инсталирали със следната команда:

На моята система, тази команда показва, че имам инсталиран GNU СЕД 4.2.1 плюс осигурява връзка към началната страница на програмата и друга полезна информация. Пакетът се нарича "SED", независимо от разпределението, в допълнение към Gentoo, където тя присъства имплицитно.

3. Концепции

4. регулярни изрази

Тъй като команди (Scripts) SED за мнозина остава загадка, ние смятаме, че нашите читатели трябва да разберат основната концепция, а не сляпо да копирате и поставяте команди, стойностите на които те не разбират. Когато човек иска да разбере какво е регулярни изрази, ключовата дума е "съвпадение", или по-точно, на "модел за съвпадение". Така например, в доклад на неговия отдел, което сте написали името на Ник, като се позовава на архитекта мрежа. Но Ник беше изчезнал, а на негово място дойде Йоан, така че сега трябва да се замени думата на Ник Джон. Ако файла на отчета е кръстен report.txt, трябва да изпълните следната команда:

По подразбиране, SED употреби стандартния изход, можете да използвате оператора на изход пренасочване, както е показано в примера по-горе. Това е един много прост пример, но ние сме илюстрира няколко неща, които търсим всички от шарка-съвпадение "Ник" и заместват във всички случаи до "Джон". Имайте предвид, че по принцип произвежда SED търсене буквите е от значение, така че бъдете внимателни и да се провери на изходния файл, за да се уверите, че са извършени всички замествания. Горният пример може да се изписва така:

Е, вие казвате, но къде е регулярен израз? Да, ние бихме искали първо да даде пример, а сега идва интересната част.
Ако не сте сигурни дали сте написал "участника" или "Ник", и искаме да предоставим двата случая, вие трябва да използвате командата SED "S / Ник / участника / Джон / г. Вертикалната линия е стойността, която трябва да знаете, ако учат С, е израз Ви ще съвпадне с "участника" или "Ник". Както ще видите по-долу, каналът може да се използва и по други начини, но смисълът остава същата. Други оператори са широко използвани в регулярните изрази - Това ли е, което съответства на повторение на предишния нула характер или веднъж, "*", "?" (Т.е. flavou R ще се побере вкус и аромат?) - нула или повече пъти, "+" - един или повече пъти. "^" Мачове от началото на низа, и "$" - напротив. Ако сте - потребителския VI или Vim, много неща ще изглеждат познати. В крайна сметка, тези инструменти, заедно с AWK и C имат своите корени в първите дни на UNIX. Ние няма да кажа повече по този въпрос, тъй като е по-лесно да се разбере значението на тези символи на примери, но трябва да знаете, че има различни реализации на регулярни изрази: POSIX, POSIX Extended, Perl, както и различни приложения на размитите регулярни изрази, гарантиращ главоболие ,

5. Примери СЕД

Свързани статии

Подкрепете проекта - споделете линка, благодаря!