сед

Как да вмъкнете ред след мача с помощта на 'sed'?

Как да вмъкнете ред след мача с помощта на 'sed'?

Една от полезните и мощни команди на Linux е командата “sed”. Тази команда се използва за изпълнение на различни видове задачи в Linux, като вмъкване, актуализиране и изтриване на определен текст или ред въз основа на съвпадението. Можете да вмъкнете текст в низ или файл по различни начини, като използвате командата “sed”.

Как да вмъкнете ред след намиране на съвпадение в низ или ред е показано в този урок.

Поставете ред в низа

Нов ред може да се вмъкне след всяка стойност на низа с помощта на командата “sed”, ако дефинираният в командата шаблон съвпада с която и да е част от стойността на низа.

Следващият пример показва как може да се добави нов ред след стойност на низ, ако определен низ съществува някъде в стойността на низа.

Пример-1: Вмъкнете ред в низ след намиране на съвпадение

Следващата команда ще търси „inng“ в низа „Харесва ми програмирането“ и ред с текст „Харесва ли ви програмирането?”Ще се вмъкне след низа, ако търсещият низ съществува.

Тук символът “&” се използва за вмъкване на реда след низа.

$ echo "Харесва ми програмирането."| sed 's / inng / & Харесва ли ви програмирането?/ '

Следващият изход показва, че “inng” не съществува в низа и след низа не се вмъква ред.


Следващата команда ще търси „ing.”В низа,„ Харесва ми програмирането ”и той съществува в низа.

$ echo "Харесва ми програмирането."| sed 's / ing./ & Харесва ли ви програмирането?/ '

Следващият изход показва, че новият ред се добавя след низа.

Вмъкнете ред във файл

Има два начина да вмъкнете ред, след като съвпадение бъде намерено във файл, който е споменат по-долу. Когато командата “sed” се използва без опцията “-i”, тогава съдържанието на файла ще остане непроменено и изходът ще покаже съдържанието на файла с вмъкнатия нов ред. Трябва да използвате опцията „-i“ с командата „sed“, за да вмъкнете трайно новия ред във файла, ако съответстващият модел съществува във файла.

A. Използване на „a“ в командата „sed“

„A“ може да се използва в модела за търсене на „sed“, за да добави един или повече редове във файл след реда, където шаблонът за търсене съвпада или след определен номер на ред.

Б. Използване на „i“ в командата „sed“

„I“ може да се използва в шаблона за търсене на командата „sed“ за вмъкване на един или повече редове във файл преди реда, където шаблонът за търсене съвпада.

Вмъкнете ред (и) във файл въз основа на модела:

Създайте текстов файл, разделен с табулации, с име продукти.текст със следното съдържание, за да се покаже употребата на горния флаг в командата “sed”.

продукти.текст

Име на ИД
01 Сметана за разбиване
02 Какао на прах
03 Захар
04 Яйце
05 Брашно

Пример-2: Поставете ред след определен номер на реда, като използвате „a“

Следващите команди показват как може да се добави нов ред след определен ред номер на продуктите.txt файл, базиран на шаблона, използван в командата “sed”.

Тук първата команда ще покаже съществуващото съдържание на файла. Командата “sed” ще добави текста, “b01 бакпулвер”, след първите два реда на файла. Последната команда се използва, за да се провери дали съдържанието на файла е променено или не.

$ котешки продукти.текст
$ sed '2 a b01 \ tПродукти за печене на прах'.текст
$ котешки продукти.текст

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

Пример-3: Поставете ред след последния ред, като използвате „a“

Следващата команда показва начина за добавяне на нов ред след последния ред на файла. Първата и последната команда показва съществуващото съдържание на файла преди и след изпълнението на командата “sed”. Символът "$" се използва в шаблона на командата "sed", за да се спомене последният ред на файла.

$ котешки продукти.текст
$ sed '$ a b01 \ tПродукти за печене на прах'.текст
$ котешки продукти.текст

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

Пример-4: Вмъкнете ред навсякъде във файла след съвпадение на шаблон с помощта на „a“

Следващата команда „sed“ показва как може да се добави нов ред навсякъде във файла въз основа на съответстващия модел. Моделът, използван в командата “sed”, ще търси всеки ред, започващ с “s01”, и ще добавя новия низ след него. Четвъртият ред на файла започва с “s01” и новият ред ще бъде вмъкнат след този ред.

$ котешки продукти.текст
$ sed '/ ^ s01.* / a b01 \ t Продукти за печене на прах.текст
$ котешки продукти.текст

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


Следващата команда "sed" ще търси всеки ред, който завършва с "Прах" и ще вмъкне новия ред след него. Третият ред на файла завършва с „Прах“. И така, новият ред ще бъде вмъкнат след този ред.

$ котешки продукти.текст
$ sed '/ Powder $ / a b01 \ t Продукти за печене на прах.текст
$ котешки продукти.текст

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

Пример-5: Вмъкнете няколко реда след съответстващия шаблон, използвайки „a“

Следващата команда „sed“ показва начина за добавяне на множество редове в съдържанието на файл въз основа на съответстващия модел.

Тук след третия ред ще бъдат добавени два реда според модела.

$ котешки продукти.текст
$ sed '/ ^ [a-c] / a b01 \ tBaching Powder \ nb02 \ tBading Soda' продукти.текст
$ котешки продукти.текст

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

Пример-6: Поставете ред след съвпадение на шаблон, използвайки „I“

$ котешки продукти.текст
$ sed '/ cream / i b01 \ tПродукти за печене на прах'.текст
$ котешки продукти.текст

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

Пример-7: Поставете линия за постоянно след съответстващия шаблон, като използвате опцията “-i”

Следващата команда “sed” показва как да промените съдържанието на файла за постоянно. Опцията „i“ се използва с командата „sed“ за вмъкване на нов ред във файла въз основа на шаблона.

$ котешки продукти.текст
$ sed -i '/ e $ / a g01 \ tGhee' продукти.текст
$ котешки продукти.текст

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

Заключение:

Начините за вмъкване на два или повече реда във файл с помощта на командата “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). Като безплатно достъпен и емулатор на...