Често използвана измамна таблица „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'.