Vanligt använt `sed` fuskblad:
De vanligaste tecknen som används i kommandot 'sed' förklaras i följande tabell.
Karaktär | Ändamål |
till | Det används för att lägga till innehåll. |
b | Det används för att förgrena innehåll. |
c | Det används för att ändra innehåll. |
d | Den används för att radera en rad i en fil. |
D | Den används för att radera den första raden i en fil. |
g | Den brukade kopiera från innehavstexten. |
G | Den används för att lägga till från texten. |
h | Den används för att kopiera in texten. |
H | Den används för att foga till texten. |
i | Den används för insättning. |
I | Den används för att skriva ut ersättningsraden. |
n | Det används för att gå till nästa rad. |
N | Den används för att lägga till nästa inmatningsrad. |
sid | Det används för att skriva ut. |
P | Den används för att skriva ut den första raden. |
Vad | Det används för att sluta. |
F | Det används för att sluta omedelbart. |
r | Den används för att läsa filen. |
R | Den används för att läsa raden från filen. |
s | Det används för att ersätta. |
t | Det används för att testa för substitution. |
T | Det används för att testa utan substitution. |
i | Det används för att skriva till filen. |
I | Den används för att skriva en rad till filen. |
x | Den används för att byta mönster och hålla. |
och | Det används för att översätta. |
Med | Den används för att rensa linjen. |
'=' | Det används för att skriva ut radnumret. |
Ersätt flera rader med kommandot 'sed' från terminalen:
Hur kommandot `sed` kan användas för att ersätta flera rader från en fil från terminalen visas i denna del av denna handledning. Skapa en fil med namnet sed.txt med följande innehåll testa kommandona i denna del.
sed.txt
Den fullständiga formen av sed är stream editor.
Det är ett Unix -verktyg som används för att läsa och konvertera texten i ett annat format.
Det utvecklades av Lee E. McMahon.
Den används för textbehandling.
Det stöder reguljära uttryck.
Exempel 1: Ersätt två rader i rad
Följande kommando `sed` kommer att ersätta två på varandra följande rader med en annan rad. Här används alternativet -z för att ersätta de på varandra följande raderna med nulldata innan du lägger till ersättningstexten. Enligt kommandot är 3rdoch 4thfilens rader ersätts med texten, 'Det är ett mycket användbart verktyg' .
$kattsed.txt$sed -Med 's/Det utvecklades av Lee E. McMahon. nDet används för text
bearbetning./Det är ett mycket användbart verktyg./ 'sed.txt
Följande utdata visas efter att kommandona har körts.
Exempel 2: Ersätt flera rader baserat på matchning och global flagga
Följande kommando `sed` ersätter alla rader som börjar med ordet, 'Den' med ordet, ' Denna linje ersätts '.
$kattsed.txt$sed 's/^It.*/Denna rad ersätts/g'sed.txt
Följande utdata visas efter att kommandona har körts. Tre rader innehåller ordet ' den 'I filen. Så dessa rader har ersatts av ersättningstexten.
Exempel-3: Ersätt flera rader baserat på kommandot matchning och nästa rad
Följande kommando 'sed' ersätter ordet ' är 'Med ordet' var 'Med kommandot på nästa rad,' n '.
$kattsed.txt$sed '{n;/is/{s/is/was/}}'sed.txt
Följande utdata visas efter att kommandona har körts. Här, 'är' finns i 2ndoch 4thrader i filen, och dessa rader ändras av ordet 'Var' .
Ersätt flera rader genom att skapa 'sed' -skriptfilen:
I de föregående exemplen har 'sed' -kommandon körts från terminalen. Men det är ett skriptspråk, och om manuset innehåller flera påståenden är det bättre att skapa en sed -fil med skriptet. Skapa en textfil med namnet students.txt med följande innehåll där 'sed' -skriptet kommer att tillämpas.
students.txt
ID: 111045Namn: Robert
Avdelning: CSE
Parti: 35
ID: 111876
Namn: Joseph
Avdelning: BBA
Parti: 27
ID: 111346
Namn: William
Avdelning: CSE
Parti: 45
ID: 111654
Namn: Charles
Avdelning: EEE
Parti: 41
ID: 111346
Namn: John
Avdelning: CSE
Parti: 25
ID: 111746
Namn: Thomas
Avdelning: CSE
Parti: 15
Exempel-4: Ersätt flera rader i en fil med 'sed'-skriptfil
Skapa en sed -fil som heter Ersätt. sed med följande innehåll för att ersätta flera rader baserat på sökmönstret. Här är ordet ' CSE 'Kommer att sökas i textfilen, och om matchningen finns, kommer den igen att söka efter nummer 35 och 15. Om den andra matchningen finns i filen, kommer den att ersättas av siffran 45.
Ersätt. sed
/CSE/ {p; n;
/35/ {
s/35/Fyra fem/;
p; d;
}
/femton/ {
s/femton/55/;
p; d;
}
}
p;
Kör följande kommando för att kontrollera det befintliga innehållet i filen. 'CSE' visades fyra gånger i textfilen. 35 och 15 finns på två ställen.
$kattstudents.txt
Följande kommando ersätter innehållet i flera rader baserat på sed -skriptet.
$sed -n -fErsätt.sedda studenter.txtFöljande utdata visas efter att kommandot körts.
Slutsats
Olika sätt att ersätta flera rader eller innehållet i flera rader med kommandot 'sed' har visats i denna handledning. Hur 'sed' -skriptet kan köras från en sed -fil visas också i denna handledning. Jag hoppas att denna handledning kommer att hjälpa läsaren att ersätta flera rader i alla filer med kommandot 'sed'.