sed

Ako vložiť riadok po zápase pomocou výrazu „sed“?

Ako vložiť riadok po zápase pomocou výrazu „sed“?

Jedným z užitočných a výkonných príkazov systému Linux je príkaz „sed“. Tento príkaz sa používa na vykonávanie rôznych typov úloh v systéme Linux, ako je vkladanie, aktualizácia a mazanie konkrétneho textu alebo riadku na základe zhody. Text do reťazca alebo súboru môžete vložiť rôznymi spôsobmi pomocou príkazu „sed“.

Ako vložiť riadok po nájdení zhody v reťazci alebo riadku je uvedené v tomto výučbe.

Vložte riadok do reťazca

Za každú hodnotu reťazca možno vložiť nový riadok pomocou príkazu „sed“, ak sa vzor definovaný v príkaze zhoduje s akoukoľvek časťou hodnoty reťazca.

Nasledujúci príklad ukazuje, ako je možné pridať nový riadok za hodnotu reťazca, ak konkrétny reťazec existuje kdekoľvek v hodnote reťazca.

Príklad 1: Po nájdení zhody vložte riadok do reťazca

Nasledujúci príkaz vyhľadá „inng“ v reťazci „Páči sa mi programovanie“ a riadok textu „Páči sa vám programovanie?”Bude vložený za reťazec, ak hľadaný reťazec existuje.

Tu sa znak „&“ používa na vloženie riadku za reťazec.

$ echo „Páči sa mi programovanie."| sed / inng / & Máte radi programovanie?/ '

Nasledujúci výstup ukazuje, že reťazec „inng“ v reťazci neexistuje a za reťazec nie je vložený žiadny riadok.


Nasledujúci príkaz vyhľadá „ing.”V reťazci,“ Páči sa mi programovanie ”a v reťazci existuje.

$ echo „Páči sa mi programovanie."| sed / s./ & Máte radi programovanie?/ '

Nasledujúci výstup ukazuje, že nový riadok je pridaný za reťazec.

Vložte riadok do súboru

Existujú dva spôsoby, ako vložiť riadok po nájdení zhody v súbore, ktorý je uvedený nižšie. Ak sa použije príkaz „sed“ bez možnosti „-i“, obsah súboru zostane nezmenený a na výstupe sa zobrazí obsah súboru s vloženým novým riadkom. Ak chcete v súbore nový riadok natrvalo vložiť, musíte použiť voľbu „-i“ príkazom „sed“.

A. Použitie „a“ v príkaze „sed“

Znak „a“ možno použiť vo vyhľadávacom vzore výrazu „sed“ na pripojenie jedného alebo viacerých riadkov v súbore za riadok, kde sa zhoduje vyhľadávací vzor, ​​alebo za konkrétne číslo riadku.

B. Použitie „i“ v príkaze „sed“

„I“ možno použiť vo vyhľadávacom vzore príkazu „sed“ na vloženie jedného alebo viacerých riadkov do súboru pred riadok, kde sa zhoduje vyhľadávací vzor.

Vložte riadky do súboru podľa vzoru:

Vytvorte textový súbor s názvom Produkty.TXT s nasledujúcim obsahom na zobrazenie použitia vyššie uvedeného príznaku v príkaze „sed“.

Produkty.TXT

Identifikačné meno
01 Šľahačka
02 kakaový prášok
03 Cukor
04 Vajce
05 Múka

Príklad 2: Vložte riadok za konkrétne číslo riadku pomocou znaku „a“

Nasledujúce príkazy ukazujú, ako je možné pridať nový riadok za konkrétnym číslom riadku produktov.súbor txt na základe vzoru použitého v príkaze „sed“.

Prvý príkaz tu zobrazí existujúci obsah súboru. Príkaz „sed“ za prvé dva riadky súboru pridá text „b01 Kypriaci prášok do pečiva“. Posledný príkaz sa používa na kontrolu, či sa obsah súboru zmenil alebo nie.

$ mačacie výrobky.TXT
$ sed '2 a b01 \ tPrášok do pečiva'.TXT
$ mačacie výrobky.TXT

Po vykonaní vyššie uvedeného príkazu sa zobrazí nasledujúci výstup.

Príklad 3: Vložte riadok za posledný riadok pomocou znaku „a“

Nasledujúci príkaz ukazuje spôsob, ako pridať nový riadok za posledný riadok súboru. Prvý a posledný príkaz zobrazuje existujúci obsah súboru pred a po vykonaní príkazu „sed“. Symbol „$“ sa používa vo vzore príkazu „sed“ na uvedenie posledného riadku súboru.

$ mačacie výrobky.TXT
$ sed '$ a b01 \ tPrášok do pečiva'.TXT
$ mačacie výrobky.TXT

Po vykonaní vyššie uvedeného príkazu sa zobrazí nasledujúci výstup.

Príklad 4: Vložte riadok kamkoľvek do súboru po zosúladení vzoru pomocou znaku „a“

Nasledujúci príkaz „sed“ ukazuje, ako je možné pridať nový riadok kamkoľvek do súboru na základe zhody vzoru. Vzor použitý v príkaze „sed“ prehľadá akýkoľvek riadok začínajúci sa znakom „s01“ a za neho pridá nový reťazec. Štvrtý riadok súboru začína na „s01“ a za tento riadok sa vloží nový riadok.

$ mačacie výrobky.TXT
$ sed '/ ^ s01.* / a b01 \ tPrášok na pečenie '.TXT
$ mačacie výrobky.TXT

Po spustení príkazu sa objaví nasledujúci výstup.


Nasledujúci príkaz „sed“ vyhľadá akýkoľvek riadok, ktorý končí na „Powder“, a vloží za neho nový riadok. Tretí riadok súboru končí „Powder“. Nový riadok sa teda vloží za tento riadok.

$ mačacie výrobky.TXT
$ sed '/ Powder $ / a b01 \ tPrášok do pečiva'.TXT
$ mačacie výrobky.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup.

Príklad-5: Vložte viac riadkov za zodpovedajúci vzor pomocou „a“

Nasledujúci príkaz „sed“ ukazuje spôsob, ako pridať viac riadkov do obsahu súboru na základe zhody vzoru.

Tu sa za tretí riadok podľa vzoru pridajú dva riadky.

$ mačacie výrobky.TXT
$ sed '/ ^ [a-c] / a b01 \ tPrášok do pečiva \ nb02 \ tBody Soda'.TXT
$ mačacie výrobky.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup.

Príklad 6: Vložte riadok po zosúladení vzoru pomocou znaku „I“

$ mačacie výrobky.TXT
$ sed '/ cream / i b01 \ tPrášok do pečiva'.TXT
$ mačacie výrobky.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup.

Príklad-7: Vložiť riadok natrvalo za zodpovedajúci vzor pomocou možnosti „-i“

Nasledujúci príkaz „sed“ ukazuje, ako natrvalo zmeniť obsah súboru. Voľba „i“ sa používa s príkazom „sed“ na vloženie nového riadku do súboru na základe vzoru.

$ mačacie výrobky.TXT
$ sed -i '/ e $ / a g01 \ tGhee' produkty.TXT
$ mačacie výrobky.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup.

Záver:

V tomto tutoriále sú uvedené spôsoby vloženia dvoch alebo viacerých riadkov do súboru pomocou príkazu „sed“ so vzorom, ktoré čitateľovi pomôžu pri použití tohto príkazu na dočasné alebo trvalé vloženie riadkov na základe vzoru.

WinMouse vám umožňuje prispôsobiť a vylepšiť pohyb ukazovateľa myši na počítači so systémom Windows
Ak chcete vylepšiť predvolené funkcie kurzora myši, použite freeware WinMouse. Pridáva ďalšie funkcie, ktoré vám pomôžu vyťažiť zo svojej skromnej myš...
Tlačidlo ľavého kliknutia myši nefunguje v systéme Windows 10
Ak používate samostatnú myš s prenosným počítačom alebo stolovým počítačom, ale nefunguje ľavé tlačidlo myši vo Windows 10/8/7 z nejakého dôvodu uvádz...
Kurzor pri písaní v systéme Windows 10 skáče alebo sa pohybuje náhodne
Ak zistíte, že kurzor myši skáče alebo sa pohybuje sám, automaticky a náhodne pri písaní na notebooku alebo počítači so systémom Windows, niektoré z t...