sed

Sådan udskiftes flere linjer ved hjælp af kommandoen 'sed'

Sådan udskiftes flere linjer ved hjælp af kommandoen 'sed'
Nogle gange kræver det at erstatte flere linjer i en fil med et bestemt tegn eller tekst. Der findes forskellige kommandoer i Linux til at erstatte flere linjer i en fil. 'sed' kommando er en af ​​dem til at udføre denne type opgaver. Den fulde form for 'sed' er Steam Editor, og den bruges hovedsageligt til at læse og konvertere teksten på forskellige måder ved hjælp af et regulært udtryk. Hvordan denne kommando kan bruges til at erstatte flere linjer i en fil på forskellige måder forklares i denne vejledning.

Almindeligt anvendt 'sed' Cheat Sheet:

De mest anvendte tegn, der bruges i kommandoen 'sed', forklares i nedenstående tabel.

Karakter Formål
-en Det bruges til at tilføje indhold.
b Det bruges til forgreningsindhold.
c Det bruges til at ændre indhold.
d Den bruges til at slette en linje i en fil.
D Det bruges til at slette den første linje i en fil.
g Det bruges til at kopiere fra tilbageholdelsesteksten.
G Det bruges til at tilføje fra holdteksten.
h Det bruges til at kopiere i tilbageholdelsesteksten.
H Det bruges til at føje til holdteksten.
jeg Det bruges til indsættelse.
jeg Det bruges til at udskrive erstatningslinjen.
n Det bruges til at gå til næste linje.
N Det bruges til at tilføje den næste inputlinje.
s Det bruges til at udskrive.
P Det bruges til at udskrive den første linje.
q Det bruges til at holde op.
Q Det bruges til at holde op med det samme.
r Det bruges til at læse filen.
R Det bruges til at læse linjen fra filen.
s Det bruges til at erstatte.
t Det bruges til at teste for substitution.
T Det bruges til at teste for ingen erstatning.
w Det bruges til at skrive til filen.
W Det bruges til at skrive en linje til filen.
x Det bruges til at bytte mønstre og holde.
y Det bruges til at oversætte.
z Det bruges til at rydde linjen.
'=' Det bruges til at udskrive linjenummeret.

Udskift flere linjer ved hjælp af kommandoen 'sed' fra terminalen:

Hvordan kommandoen 'sed' kan bruges til at erstatte flere linjer fra en fil fra terminalen vises i denne del af denne vejledning. Opret en fil med navnet sed.txt med følgende indholdstest kommandoerne til denne del.

sed.txt

Den fulde form for sed er "stream editor".

Det er et Unix-værktøj, der bruges til at læse og konvertere teksten i et andet format.

Det blev udviklet af Lee E. McMahon.

Det bruges til tekstbehandling.

Det understøtter regelmæssige udtryk.

Eksempel 1: Udskift to på hinanden følgende linjer

Den følgende 'sed' kommando erstatter to på hinanden følgende linjer med en anden linje. Her bruges indstillingen -z til at erstatte de på hinanden følgende linjer med nulldata, før du tilføjer erstatningsteksten. Ifølge kommandoen er 3rd og 4th linjer i filen erstattes af teksten, 'Det er et meget nyttigt værktøj'.

$ kat sed.txt
$ sed -z s / Det blev udviklet af Lee E. McMahon.\ nDet bruges til tekst
forarbejdning./ Det er et meget nyttigt værktøj./ 'sed.txt

Følgende output vises efter kørsel af kommandoerne.

Eksempel 2: Udskift flere linjer baseret på match og globalt flag

Den følgende 'sed' kommando erstatter alle linjer, der starter med ordet, 'Det' ved ordet, 'Denne linje erstattes ''.

$ kat sed.txt
$ sed 's / ^ Det.* / Denne linje erstattes / g 'sed.txt

Følgende output vises efter kørsel af kommandoerne. Tre linjer indeholder ordet 'Det'i filen. Så disse linjer er blevet erstattet af erstatningsteksten.

Eksempel 3: Udskift flere linjer baseret på match og kommandoen næste linje

Den følgende 'sed' kommando erstatter ordet, 'er'med ordet'var'med kommandoen næste linje,' n '.

$ kat sed.txt
$ sed 'n; / is / s / is / was /' sed.txt

Følgende output vises efter kørsel af kommandoerne. Her, 'er' findes i 2nd og 4th linjer i filen, og disse linjer ændres af ordet 'var'.

Udskift flere linjer ved at oprette 'sed' script-filen:

I de foregående eksempler er 'sed' kommandoer udført fra terminalen. Men det er et script-sprog, og hvis scriptet indeholder flere udsagn, er det bedre at oprette en sed-fil med scriptet. Opret en tekstfil med navnet studerende.txt med følgende indhold, hvor 'sed' scriptet vil blive anvendt.

studerende.txt

ID: 111045
Navn: Robert
Afdeling: CSE
Batch: 35
ID: 111876
Navn: Joseph
Afdeling: BBA
Batch: 27
ID: 111346
Navn: William
Afdeling: CSE
Batch: 45
ID: 111654
Navn: Charles
Afdeling: EEE
Batch: 41
ID: 111346
Navn: John
Afdeling: CSE
Batch: 25
ID: 111746
Navn: Thomas
Afdeling: CSE
Batch: 15

Eksempel 4: Erstat flere linjer i en fil ved hjælp af 'sed' scriptfil

Opret en sed-fil, der hedder erstatte.sed med følgende indhold for at erstatte flere linjer baseret på søgemønsteret. Her, ordet 'CSE'vil blive søgt i tekstfilen, og hvis matchet findes, vil det igen søge på nummer 35 og 15. Hvis der findes et andet match i filen, erstattes det af tallet 45.

erstatte.sed

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

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


p;

Kør følgende kommando for at kontrollere det eksisterende indhold af filen. 'CSE' dukkede op fire gange i tekstfilen. 35 og 15 findes to steder.

$ kat studerende.txt

Den følgende kommando erstatter indholdet af de flere linjer baseret på sed-scriptet.

$ sed -n -f udskift.sed studerende.txt

Følgende output vises efter kørsel af kommandoen.

Konklusion

Forskellige måder at udskifte flere linjer eller indholdet af flere linjer ved hjælp af kommandoen 'sed' er vist i denne vejledning. Hvordan 'sed'-scriptet kan udføres fra en sed-fil vises også i denne vejledning. Jeg håber, at denne tutorial hjælper læseren med at erstatte flere linjer i enhver fil ved hjælp af kommandoen 'sed'.

Mus Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Hvis du finder ud af, at din musemarkør hopper eller bevæger sig alene, automatisk tilfældigt, mens du skriver Windows-bærbar computer eller computer,...
Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...
Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...