Често използвани `sed` Cheat Sheet:
Най -често използваните символи, използвани в командата `sed`, са обяснени в следващата таблица.
Персонаж | Предназначение |
да се | Използва се за добавяне на съдържание. |
б | Използва се за разклоняване на съдържание. |
° С | Използва се за промяна на съдържанието. |
д | Използва се за изтриване на ред от файл. |
д | Използва се за изтриване на първия ред на файл. |
g | Използва се за копиране от задържащия текст. |
G | Използва се за добавяне от задържащия текст. |
з | Използва се за копиране в задържания текст. |
З | Използва се за добавяне към задържащия текст. |
i | Използва се за вмъкване. |
Аз | Използва се за отпечатване на заместващия ред. |
н | Използва се за преминаване към следващия ред. |
н | Използва се за добавяне на следващия входен ред. |
стр | Използва се за печат. |
P | Използва се за отпечатване на първия ред. |
Какво | Използва се за отказване. |
В | Използва се за незабавно отказване. |
r | Използва се за четене на файла. |
R | Използва се за четене на реда от файла. |
с | Използва се за заместване. |
T | Използва се за тестване за заместване. |
T | Използва се за тестване за липса на заместване. |
в | Използва се за запис във файла. |
IN | Използва се за запис на ред във файла. |
х | Използва се за смяна на шаблони и задържане. |
и | Използва се за превод. |
С | Използва се за изчистване на линията. |
‘=’ | Използва се за отпечатване на номера на ред. |
Заменете няколко реда, като използвате командата `sed` от терминала:
В тази част на този урок е показано как командата `sed` може да се използва за замяна на множество редове от файл от терминала. Създайте файл с име sed.txt със следното съдържание тествайте командите на тази част.
sed.txt
Пълната форма на sed е редактор на потоци.
Това е помощна програма на Unix, която се използва за четене и преобразуване на текста в различен формат.
Той е разработен от Lee E. McMahon.
Използва се за обработка на текст.
Той поддържа регулярни изрази.
Пример-1: Сменете две последователни линии
Следващата команда `sed` ще замени два последователни реда с друг ред. Тук опцията -z се използва за замяна на последователните редове с нулеви данни, преди да се добави заместващият текст. Според командата 3rdи 4thредовете на файла ще бъдат заменени с текст, „Това е много полезен инструмент“ .
$коткаsed.txt$sed -С 's/Той е разработен от Lee E. McMahon. nИзползва се за текст
обработка./Това е много полезен инструмент./'sed.txt
Следният изход ще се появи след изпълнение на командите.
Пример-2: Заменете няколко реда въз основа на съвпадение и глобален флаг
Следващата команда `sed` ще замени всички редове, които започват с думата, 'То' с думата „ Този ред се заменя ‘.
$коткаsed.txt$sed 's/^It.*/Този ред се заменя/g'sed.txt
Следният изход ще се появи след изпълнение на командите. Три реда съдържат думата „ То ‘Във файла. Така че тези редове са заменени от заместващия текст.
Пример-3: Заменете няколко реда въз основа на съвпадението и командата на следващия ред
Следващата команда „sed“ ще замени думата, “ е „От думата“, беше „С командата на следващия ред,„ n “.
$коткаsed.txt$sed '{n;/is/{s/is/was/}}'sed.txt
Следният изход ще се появи след изпълнение на командите. Тук, „Е“ съществува в 2ndи 4thредове на файла и тези редове се променят от думата 'беше' .
Заменете няколко реда, като създадете скриптов файл `sed`:
В предишните примери командите `sed` са изпълнявани от терминала. Но това е скриптов език и ако скриптът съдържа множество изявления, тогава е по -добре да създадете sed файл със скрипта. Създайте текстов файл с име students.txt със следното съдържание, в което ще бъде приложен скриптът `sed`.
students.txt
ID: 111045Име: Робърт
Отдел: CSE
Партида: 35
ID: 111876
Име: Джоузеф
Катедра: BBA
Партида: 27
ID: 111346
Име: Уилям
Отдел: CSE
Партида: 45
ID: 111654
Име: Чарлз
Отдел: EEE
Партида: 41
ID: 111346
Име: Джон
Отдел: CSE
Партида: 25
ID: 111746
Име: Томас
Отдел: CSE
Партида: 15
Пример-4: Заменете няколко реда на файл, като използвате скриптов файл `sed`
Създайте sed файл с име replace.sed със следното съдържание, за да замени няколко реда въз основа на шаблона за търсене. Тук думата „ CSE „Ще се търси в текстовия файл и ако съвпадението съществува, то ще търси отново числата 35 и 15. Ако второто съвпадение съществува във файла, то ще бъде заменено с номер 45.
replace.sed
/CSE/ {p; n;
/35/ {
с/35/Четири пет/;
p; d;
}
/петнадесет/ {
с/петнадесет/55/;
p; d;
}
}
p;
Изпълнете следната команда, за да проверите съществуващото съдържание на файла. „CSE“ се появява четири пъти в текстовия файл. 35 и 15 съществуват на две места.
$коткаstudents.txt
Следващата команда ще замени съдържанието на множество редове въз основа на sed скрипта.
$sed -н -freplace.sed students.txtСледният изход ще се появи след изпълнение на командата.
Заключение
В този урок са показани различни начини за замяна на няколко реда или съдържанието на множество редове с помощта на командата `sed`. В този урок е показано също как скриптът `sed` може да бъде изпълнен от sed файл. Надявам се, че този урок ще помогне на читателя да замени няколко реда от всеки файл, като използва командата `sed`.