сед

Как да замените множество редове с помощта на командата 'sed'

Как да замените множество редове с помощта на командата 'sed'
Понякога се изисква да се заменят множество редове на файл с някакъв конкретен символ или текст. В Linux съществуват различни команди за замяна на множество редове на файл. Командата 'sed' е една от тях за изпълнение на този тип задачи. Пълната форма на 'sed' е Steam Editor и се използва главно за четене и конвертиране на текст по различни начини, като се използва регулярен израз. Как тази команда може да се използва за замяна на множество редове на файл по различни начини е обяснено в този урок.

Често използвана измамна таблица „sed“:

Най-често използваните символи, използвани в командата 'sed', са обяснени в следващата таблица.

Характер Предназначение
а Използва се за добавяне на съдържание.
б Използва се за разклоняване на съдържанието.
° С Използва се за промяна на съдържанието.
д Използва се за изтриване на ред от файл.
д Използва се за изтриване на първия ред на файл.
ж Използваше се за копиране от текста на холдинга.
G Използва се за добавяне от текста на задържането.
з Използва се за копиране в текста на холдинга.
З Използва се за добавяне към текста на задържането.
i Използва се за вмъкване.
Аз Използва се за отпечатване на заместващия ред.
н Използва се за преминаване към следващия ред.
н Използва се за добавяне на следващия ред за въвеждане.
стр Използва се за печат.
P Използва се за отпечатване на първия ред.
q Използва се за отказване.
Въпрос: Използва се за незабавно напускане.
r Използва се за четене на файла.
R Използва се за четене на реда от файла.
с Използва се за заместване.
T Използва се за тест за заместване.
T Използва се за тестване за липса на заместване.
w Използва се за запис във файла.
W Използва се за запис на ред във файла.
х Използва се за размяна на шаблони и задържане.
у Използва се за превод.
z Използва се за изчистване на линията.
'=' Използва се за отпечатване на номера на реда.

Заменете няколко реда, като използвате командата 'sed' от терминала:

Как командата 'sed' може да се използва за замяна на множество редове от файл от терминала е показано в тази част на този урок. Създайте файл с име сед.текст със следното съдържание тествайте командите на тази част.

сед.текст

Пълната форма на sed е „редактор на потоци“.

Това е програма за Unix, която се използва за четене и конвертиране на текст в различен формат.

Той е разработен от Лий Е. Макмеън.

Използва се за обработка на текст.

Той поддържа регулярни изрази.

Пример-1: Заменете две последователни линии

Следващата команда 'sed' ще замени два последователни реда с друг ред. Тук опцията -z се използва, за да замени последователните редове с нулеви данни, преди да добави заместващия текст. Според командата 3rd и 4ти редовете на файла ще бъдат заменени от текста, „Това е много полезен инструмент“.

$ котка сед.текст
$ sed -z 's / Тя е разработена от Lee E. Макмеън.\ nИзползва се за текст
обработка./ Това е много полезен инструмент./ 'сед.текст

След изпълнението на командите ще се появи следният изход.

Пример-2: Заменете множество редове въз основа на съвпадение и глобален флаг

Следващата команда 'sed' ще замени всички редове, които започват с думата, 'То' от думата,Този ред се заменя '.

$ котка сед.текст
$ sed 's / ^ То.* / Този ред е заменен / g 'sed.текст

След изпълнението на командите ще се появи следният изход. Три реда съдържат думата „То'във файла. И така, тези редове са заменени от заместващия текст.

Пример-3: Заменете няколко реда въз основа на командата за съвпадение и следващ ред

Следващата команда 'sed' ще замени думата, 'е„от думата“беше'с командата от следващия ред,' n '.

$ котка сед.текст
$ sed 'n; / is / s / is / was /' sed.текст

След изпълнението на командите ще се появи следният изход. Тук, "е" съществува във 2nd и 4ти редове на файла и тези редове са модифицирани от думата 'беше'.

Заменете няколко реда, като създадете скрипт файл 'sed':

В предишните примери командите 'sed' са изпълнени от терминала. Но това е скриптов език и ако скриптът съдържа множество изрази, тогава е по-добре да създадете sed файл със скрипта. Създайте текстов файл с име ученици.текст със следното съдържание, в което ще бъде приложен скриптът 'sed'.

ученици.текст

ID: 111045
Име: Робърт
Катедра: CSE
Партида: 35
ID: 111876
Име: Йосиф
Отдел: BBA
Партида: 27
ID: 111346
Име: Уилям
Катедра: CSE
Партида: 45
ID: 111654
Име: Чарлз
Отдел: ЕЕО
Партида: 41
ID: 111346
Име: Джон
Катедра: CSE
Партида: 25
ID: 111746
Име: Томас
Катедра: CSE
Партида: 15

Пример-4: Заменете множество редове на файл, като използвате скрипт „sed“

Създайте sed файл с име замени.сед със следното съдържание, за да замени множеството редове въз основа на модела на търсене. Тук думата "CSE'ще се търси в текстовия файл и ако съвпадението съществува, то отново ще търси числата 35 и 15. Ако второто съвпадение съществува във файла, то ще бъде заменено с числото 45.

замени.сед

/ CSE /
p; n;
/ 35 /
s / 35/45 /;
p; d;

/15/
s / 15/55 /;
p; d;


р;

Изпълнете следната команда, за да проверите съществуващото съдържание на файла. „CSE“ се появи четири пъти в текстовия файл. 35 и 15 съществуват на две места.

$ котки ученици.текст

Следващата команда ще замени съдържанието на множество редове въз основа на скрипта sed.

$ sed -n -f замени.ученици.текст

След изпълнението на командата ще се появи следният изход.

Заключение

В този урок са показани различни начини за заместване на множество редове или съдържанието на множество редове с помощта на командата 'sed'. Как може да се изпълни скриптът 'sed' от sed файл е показано и в този урок. Надявам се, че този урок ще помогне на читателя да замени множество редове на всеки файл, като използва командата 'sed'.

Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...
Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...