Almindeligt brugt `sed` snydeblad:
De mest almindeligt anvendte tegn, der bruges i kommandoen `sed`, forklares i følgende tabel.
Karakter | Formål |
til | Det bruges til at tilføje indhold. |
b | Det bruges til forgrening af indhold. |
c | Det bruges til at ændre indhold. |
d | Det bruges til at slette en linje i en fil. |
D | Det bruges til at slette den første linje i en fil. |
g | Det plejede at kopiere fra beholdningsteksten. |
G | Det bruges til at tilføje fra holdteksten. |
h | Det bruges til at kopiere i beholdningsteksten. |
H | Det bruges til at tilføje til teksten. |
jeg | Det bruges til indsættelse. |
jeg | Det bruges til at udskrive erstatningslinjen. |
n | Det bruges til at gå til den 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. |
hvad | Det bruges til at stoppe. |
Q | Det bruges til at stoppe 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 uden substitution. |
i | Det bruges til at skrive til filen. |
I | Det bruges til at skrive en linje til filen. |
x | Det bruges til at bytte mønstre og holde. |
og | Det bruges til at oversætte. |
Med | Det bruges til at rydde linjen. |
'=' | Det bruges til at udskrive linjenummeret. |
Erstat flere linjer ved at bruge kommandoen 'sed' fra terminalen:
Hvordan kommandoen `sed` kan bruges til at erstatte flere linjer fra en fil fra terminalen, er vist i denne del af denne vejledning. Opret en fil med navnet sed.txt med følgende indhold teste kommandoerne i 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 regulære udtryk.
Eksempel-1: Udskift to på hinanden følgende linjer
Den følgende kommando `sed` 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 null -data, før erstatningsteksten tilføjes. Ifølge kommandoen er 3rdog 4thfilens linjer erstattes af teksten, 'Det er et meget nyttigt værktøj' .
$katsed.txt$sed -Med 's/Det blev udviklet af Lee E. McMahon. nDet bruges til tekst
behandling./Det er et meget nyttigt værktøj./ 'sed.txt
Følgende output vises, når kommandoerne er kørt.
Eksempel-2: Udskift flere linjer baseret på match og globalt flag
Følgende kommando `sed` erstatter alle linjer, der starter med ordet, 'Det' ved ordet, ' Denne linje udskiftes '.
$katsed.txt$sed 's/^It.*/Denne linje erstattes/g'sed.txt
Følgende output vises, når kommandoerne er kørt. 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 på næste linje
Følgende kommando 'sed' erstatter ordet ' er 'Ved ordet,' var 'Med kommandoen på næste linje,' n '.
$katsed.txt$sed '{n;/is/{s/is/was/}}'sed.txt
Følgende output vises, når kommandoerne er kørt. Her, 'er' findes i 2ndog 4thlinjer i filen, og disse linjer ændres af ordet 'Var' .
Erstat flere linjer ved at oprette 'sed' -scriptfilen:
I de foregående eksempler er 'sed' kommandoer blevet udført fra terminalen. Men det er et scriptsprog, og hvis scriptet indeholder flere udsagn, så 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: 111045Navn: 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: Udskift flere linjer i en fil ved hjælp af 'sed' scriptfil
Opret en sed -fil med navnet udskift. brugt med følgende indhold til at erstatte de flere linjer baseret på søgemønsteret. Her er ordet ' CSE ‘Vil blive søgt i tekstfilen, og hvis matchningen eksisterer, vil den igen søge efter nummeret 35 og 15. Hvis det andet match findes i filen, vil det blive erstattet af tallet 45.
udskift. brugt
/CSE/ {p; n;
/35/ {
s/35/Fire. Fem/;
p; d;
}
/femten/ {
s/femten/55/;
p; d;
}
}
p;
Kør følgende kommando for at kontrollere det eksisterende indhold i filen. 'CSE' optrådte fire gange i tekstfilen. 35 og 15 findes to steder.
$katstuderende.txt
Den følgende kommando erstatter indholdet af de flere linjer baseret på sed -scriptet.
$sed -n -ferstat. brugte studerende.txtFølgende output vises efter at have kørt kommandoen.
Konklusion
Forskellige måder at erstatte flere linjer eller indholdet af de flere linjer ved hjælp af kommandoen 'sed' er blevet vist i denne vejledning. Hvordan 'sed' -scriptet kan eksekveres fra en sed -fil, vises også i denne vejledning. Jeg håber, at denne vejledning hjælper læseren med at erstatte flere linjer i enhver fil ved hjælp af kommandoen 'sed'.