sed

Ako nahradiť viac riadkov pomocou príkazu „sed“

Ako nahradiť viac riadkov pomocou príkazu „sed“
Niekedy je potrebné nahradiť viac riadkov súboru akýmkoľvek konkrétnym znakom alebo textom. V systéme Linux existujú rôzne príkazy, ktoré nahrádzajú viac riadkov súboru. Príkaz 'sed' je jedným z nich, ktorý robí tento typ úlohy. Plná forma výrazu „sed“ je Steam Editor a používa sa hlavne na čítanie a konverziu textu rôznymi spôsobmi pomocou regulárneho výrazu. V tomto návode je vysvetlené, ako je možné pomocou tohto príkazu nahradiť rôznymi riadkami súboru rôznymi spôsobmi.

Bežne používaný „sed“ podvodník:

Najčastejšie používané znaky použité v príkaze 'sed' sú vysvetlené v nasledujúcej tabuľke.

Postava Účel
a Používa sa na pripojenie obsahu.
b Používa sa na rozvetvenie obsahu.
c Používa sa na zmenu obsahu.
d Používa sa na odstránenie riadku súboru.
D Používa sa na odstránenie prvého riadku súboru.
g Kedysi kopírovalo z pozdržaného textu.
G Používa sa na doplnenie z pozdržaného textu.
h Používa sa na kopírovanie zadržaného textu.
H Používa sa na pripojenie k pozdržaciemu textu.
i Používa sa na vloženie.
Ja Používa sa na tlač náhradného riadku.
n Slúži na prechod na ďalší riadok.
N Používa sa na pripojenie ďalšieho vstupného riadku.
p Používa sa na tlač.
P Používa sa na tlač prvého riadku.
q Používa sa na ukončenie.
Q Používa sa na okamžité ukončenie.
r Používa sa na čítanie súboru.
R Slúži na načítanie riadku zo súboru.
s Používa sa ako náhrada.
t Používa sa na testovanie zámeny.
T Používa sa na testovanie, či nedochádza k zámene.
w Používa sa na zápis do súboru.
Ž Používa sa na zápis riadku do súboru.
X Používa sa na zámenu vzorov a držanie.
r Používa sa na preklad.
z Používa sa na vyčistenie čiary.
'=' Používa sa na tlač čísla riadku.

Nahraďte viac riadkov pomocou príkazu 'sed' z terminálu:

Ako sa dá príkazom 'sed' nahradiť viac riadkov zo súboru v termináli, je zobrazené v tejto časti tohto tutoriálu. Vytvorte súbor s názvom sed.TXT s nasledujúcim obsahom otestujte príkazy tejto časti.

sed.TXT

Plná forma sedu je „editor streamov“.

Jedná sa o unixový nástroj, ktorý sa používa na čítanie a prevod textu v inom formáte.

Bol vyvinutý Lee E. McMahon.

Používa sa na spracovanie textu.

Podporuje regulárne výrazy.

Príklad 1: Nahradiť dva po sebe nasledujúce riadky

Nasledujúci príkaz „sed“ nahradí dva po sebe nasledujúce riadky iným riadkom. Tu sa voľba -z používa na nahradenie po sebe idúcich riadkov nulovými údajmi pred pridaním náhradného textu. Podľa príkazu 3rd a 4th riadky súboru budú nahradené textom, „Je to veľmi užitočný nástroj“.

$ mačka sed.TXT
$ sed -z 's / Vyvinul ho Lee E. McMahon.\ nPoužíva sa na text
spracovanie./ Je to veľmi užitočný nástroj./ 'sed.TXT

Po vykonaní príkazov sa zobrazí nasledujúci výstup.

Príklad 2: Nahraďte viac riadkov na základe zhody a globálneho príznaku

Nasledujúci príkaz „sed“ nahradí všetky riadky, ktoré sa začínajú slovom, „To“ slovom, “Tento riadok je nahradený „.

$ mačka sed.TXT
$ sed 's / ^ To.* / Tento riadok je nahradený / g 'sed.TXT

Po vykonaní príkazov sa zobrazí nasledujúci výstup. Tri riadky obsahujú slovo „To„v spise. Tieto riadky boli teda nahradené náhradným textom.

Príklad 3: Nahraďte viac riadkov na základe príkazu zhody a nasledujúceho riadku

Nasledujúci príkaz 'sed' nahradí slovo, 'je„slovom,“bol„príkazom na ďalšom riadku,„ n “.

$ mačka sed.TXT
$ sed 'n; / is / s / is / was /' sed.TXT

Po vykonaní príkazov sa zobrazí nasledujúci výstup. Tu, 'je' existuje v 2nd a 4th riadky súboru a tieto riadky sú upravené slovom „bol“.

Nahraďte viac riadkov vytvorením súboru skriptu „sed“:

V predchádzajúcich príkladoch sa príkazy „sed“ vykonali z terminálu. Je to ale skriptovací jazyk a ak skript obsahuje viac príkazov, je lepšie pomocou skriptu vytvoriť súbor sed. Vytvorte textový súbor s názvom študentov.TXT s nasledujúcim obsahom, v ktorom sa použije skript „sed“.

študentov.TXT

ID: 111045
Meno: Robert
Oddelenie: CSE
Šarža: 35
ID: 111876
Meno: Jozef
Oddelenie: BBA
Dávka: 27
ID: 111346
Meno: William
Oddelenie: CSE
Šarža: 45
ID: 111654
Meno: Charles
Oddelenie: EEE
Šarža: 41
ID: 111346
Meno: John
Oddelenie: CSE
Dávka: 25
ID: 111746
Meno: Thomas
Oddelenie: CSE
Šarža: 15

Príklad-4: Nahraďte viac riadkov súboru pomocou súboru skriptu „sed“

Vytvorte súbor sed s názvom vymeniť.sed s nasledujúcim obsahom nahradiť viac riadkov na základe vzoru vyhľadávania. Tu slovo „CSE„bude prehľadané v textovom súbore, a ak existuje zhoda, potom znova prehľadá čísla 35 a 15. Ak v súbore existuje druhá zhoda, bude nahradená číslom 45.

vymeniť.sed

/ CSE /
p; n;
/ 35 /
s / 35/45 /;
p; d;

/ 15 /
s / 15/55 /;
p; d;


p;

Spustením nasledujúceho príkazu skontrolujte existujúci obsah súboru. „CSE“ sa v textovom súbore objavilo štyrikrát. 35 a 15 existujú na dvoch miestach.

$ mačacích študentov.TXT

Nasledujúci príkaz nahradí obsah viacerých riadkov na základe skriptu sed.

$ sed -n -f nahradiť.sed študenti.TXT

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

Záver

V tomto výučbe sú zobrazené rôzne spôsoby nahradenia viacerých riadkov alebo obsahu viacerých riadkov pomocou príkazu „sed“. V tomto návode je tiež znázornené, ako je možné vykonať skript „sed“ zo súboru sed. Dúfam, že tento návod pomôže čitateľovi nahradiť viac riadkov ľubovoľného súboru pomocou príkazu „sed“.

Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...
Hry Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
OpenRA je herný engine Libre / Free Real Time Strategy, ktorý obnovuje rané hry z Westwoodu, ako napríklad klasické Command & Conquer: Red Alert. Dist...
Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...