сед

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

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

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

Заменете всичко след мача в низ:

Как частта от низ може да бъде заменена въз основа на съвпадащ модел и $ PARTITION_COLUMN е показано в този раздел на този урок. Но тази променлива работи, ако моделът съвпада с която и да е дума в началото или средата на низа. Той няма да замести текста, ако шаблонът съвпада с последната дума от низа.

Пример-1: Заменете всички след мача с помощта на $ PARTITION_COLUMN

Следващата команда ще търси символа „а“, а останалата част след „а“ ще бъде заменена от текста „популярен сайт в блога“. $ PARTITION_COLUMN.* се използва за дефиниране на останалата част след символа, 'a'.

$ echo "LinuxHint е уебсайт" | sed "s / a $ PARTITION_COLUMN.* / популярен сайт в блог / "

След изпълнението на командата ще се появи следният изход. Тук „уебсайт“ е заменен с „популярен блог сайт“.


Следният модел ще търси думата "уеб„В низа и заменете останалата част с„уеб„От текста“популярен блог сайт'ако съвпадението съществува и'уеб'Не е частта от последната дума от низа.

$ echo "LinuxHint е уебсайт" | sed "s / web.* $ PARTITION_COLUMN.* / популярен блог сайт / "

След изпълнението на командата ще се появи следният изход. Тук „уебсайт“ е последната дума от низа и поради тази причина не е извършена подмяна.

Пример-2: Заменете всички след съвпадение, като използвате шаблон

Следващата команда ще търси думата 'баш'глобално в низа и заменете всичко с думата, ако думата съществува в низа. 'ж'Се използва тук за глобално търсене.

$ echo "Харесва ми баш програмиране" | sed "s / bash.* / python скрипт / g "

След изпълнението на командата ще се появи следният изход. Тук 'bash' съществува в средата на низа и замяната е извършена.

Заменете всичко след мача във файл:

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

присъствие.текст

1108885 присъства
1999979 присъства
1769994 отсъства
1105656 отсъства
1455999 отсъства

Пример -3: Заменете цялото съдържание от ред на файл след съвпадението

Следващата команда 'sed' ще търси номера 1769994 във файла и всичко с номера ще бъде заменено от текста, '1586844 присъства', ако номерът съществува във всеки ред на файла.

$ котешка привързаност.текст
$ sed "s / 1769994.* / 1586844 присъства / "присъствие.текст

Ще се появи следният изход, изпълняващ командите. Тук номерът за търсене съществува в третия ред на файла и замяната е извършена.

Пример -4: Заменете цялото съдържание от множеството редове на файл след съвпадението

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

$ посещаемост на котка.текст
$ sed "s / ^ 110.* $ PARTITION_COLUMN.* / Невалиден запис / "присъствие.текст

След изпълнението на командите ще се появи следният изход. „110“ съществува в два реда на файла и те са заменени от заместващия текст.

Пример-5: Заменете цялото съдържание от ред на файл, използвайки 'c' след съвпадението

Следното 'сед'команда показва използването на'° С'да замени всичко след мача. Тук, '° С'показва промяната. Командата ще търси думата "присъства'във файла и заменете всичко от реда с текст,'Този ред се заменя'ако думата съществува във всеки ред на файла.

$ посещаемост на котка.текст
$ sed '/ present / c Този ред се заменя с' присъствие.текст

След изпълнението на командите ще се появи следният изход. Думата „присъства“ съществува в първите два реда на файла и тези два реда са заменени от заместващия текст.

Пример 6: Заменете цялото съдържание от ред на файл въз основа на начален и краен модел

Понякога се изисква замяна на текст въз основа на началния и крайния модел. Следващата команда 'sed' показва начина за определяне на начални и крайни модели за замяна на редове от файл. Командата ще претърси онези редове във файла, които започват с числото 110 и завършват с думата "отсъства" и ще замени всичко с думата "замени", където шаблоните съвпадат.

$ посещаемост на котка.текст
$ sed -e / ^ 110.* отсъства $ / заменено / g 'присъствие.текст

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

Заключение:

Командата 'sed' е много мощен инструмент на Linux за изпълнение на различни видове задачи, свързани с обработката на текст. Заместващата задача, базирана на съответстващия модел, е обсъдена в този урок, като се използват различни видове модели в командата 'sed'. $ PARTITION_COLUMN, „c“ и „.* 'се използва в този урок, за да замести всичко от ред на файла, където съществува съответстващият модел. Тук са показани употребите на някои символи на дефиниращи модели, като '^' и '$'. Много други знаци съществуват, за да дефинират модела в регулярен израз с цел търсене. Надявам се този урок да помогне на читателя да разбере основите на подмяната на всичко от файл след мача.

Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...