Tavaliselt kasutatav "sed" petukiri:
Käsus 'sed' kõige sagedamini kasutatavaid märke selgitatakse järgmises tabelis.
Iseloom | Eesmärk |
a | Seda kasutatakse sisu lisamiseks. |
b | Seda kasutatakse sisu hargnemiseks. |
c | Seda kasutatakse sisu muutmiseks. |
d | Seda kasutatakse failirea kustutamiseks. |
D | Seda kasutatakse faili esimese rea kustutamiseks. |
g | Seda kopeeriti hoidmistekstist. |
G | Seda kasutatakse hoidmisteksti lisamiseks. |
h | Seda kasutatakse hoidva teksti kopeerimiseks. |
H | Seda kasutatakse hoidmisteksti lisamiseks. |
i | Seda kasutatakse sisestamiseks. |
Mina | Seda kasutatakse asendusjoone printimiseks. |
n | Seda kasutatakse järgmisele reale minemiseks. |
N | Seda kasutatakse järgmise sisendrea lisamiseks. |
lk | Seda kasutatakse printimiseks. |
P | Seda kasutatakse esimese rea printimiseks. |
q | Seda kasutatakse loobumiseks. |
Q | Seda kasutatakse koheselt loobumiseks. |
r | Seda kasutatakse faili lugemiseks. |
R | Seda kasutatakse failist rea lugemiseks. |
s | Seda kasutatakse asendamiseks. |
t | Seda kasutatakse asenduse testimiseks. |
T | Seda kasutatakse asendamatuse testimiseks. |
w | Seda kasutatakse faili kirjutamiseks. |
W | Seda kasutatakse faili rea kirjutamiseks. |
x | Seda kasutatakse mustrite vahetamiseks ja hoidmiseks. |
y | Seda kasutatakse tõlkimiseks. |
z | Seda kasutatakse joone puhastamiseks. |
'=' | Seda kasutatakse reanumbri printimiseks. |
Asendage mitu rida, kasutades terminali käsku "sed":
Kuidas käsku „sed” saab terminalist failist mitme rea asendamiseks, kuvatakse selle õpetuse selles osas. Looge fail nimega sed.txt järgmise sisuga testige selle osa käske.
sed.txt
Sed'i täielik vorm on voo redaktor.
See on Unixi utiliit, mida kasutatakse teksti lugemiseks ja teisendamiseks teises vormingus.
Selle töötas välja Lee E. McMahon.
Seda kasutatakse tekstitöötluseks.
See toetab regulaaravaldisi.
Näide 1: asendage kaks järjestikust rida
Järgmine käsk 'sed' asendab kaks järjestikust rida teise reaga. Siin kasutatakse valikut -z järjestikuste ridade asendamiseks nullandmetega enne asendusteksti lisamist. Vastavalt käsklusele 3rd ja 4th faili read asendatakse tekstiga, "See on väga kasulik tööriist".
$ kass sed.txt$ sed -z 's / Selle töötas välja Lee E. McMahon.\ nSeda kasutatakse teksti jaoks
töötlemine./ See on väga kasulik tööriist./ 'sed.txt
Pärast käskude käivitamist ilmub järgmine väljund.
Näide 2: asendage mitu rida vaste ja globaalse lipu põhjal
Järgmine käsk 'sed' asendab kõik sõnaga algavad read, "See" sõna järgi, "See rida asendatakse ".
$ kass sed.txt$ sed 's / ^ It.* / See rida asendatakse / g 'sed.txt
Pärast käskude käivitamist ilmub järgmine väljund. Kolm rida sisaldavad sõna "See'failis. Niisiis, need read on asendatud asendustekstiga.
Näide 3: Asendage mitu rida vastavalt mängu ja järgmise rea käsule
Järgmine käsk 'sed' asendab sõna 'on"sõna järgi"oli'järgmise rea käsuga' n '.
$ kass sed.txt$ sed 'n; / is / s / is / was / sed.txt
Pärast käskude käivitamist ilmub järgmine väljund. Siin, 'on' eksisteerib 2nd ja 4th faili read ja neid ridu muudetakse sõnaga "oli".
Asendage mitu rida, luues skriptifaili „sed”:
Eelmistes näidetes on terminalist käsk "sed" täidetud. Kuid see on skriptikeel ja kui skript sisaldab mitut lauset, siis on parem luua skriptiga sed-fail. Looge nimega tekstifail õpilased.txt järgmise sisuga, milles rakendatakse skripti „sed”.
õpilased.txt
ID: 111045Nimi: Robert
Osakond: CSE
Partii: 35
ID: 111876
Nimi: Joosep
Osakond: BBA
Partii: 27
ID: 111346
Nimi: William
Osakond: CSE
Partii: 45
ID: 111654
Nimi: Charles
Osakond: EEE
Partii: 41
ID: 111346
Nimi: John
Osakond: CSE
Partii: 25
ID: 111746
Nimi: Thomas
Osakond: CSE
Partii: 15
Näide 4: asendage faili mitu rida skriptifailiga „sed”
Looge sed-fail nimega asendama.sed järgmise sisuga, et asendada mitu rida otsingumustri põhjal. Siin on sõna "CSE'otsitakse tekstifailist ja kui vaste on olemas, otsib see uuesti numbreid 35 ja 15. Kui failis on teine vaste, asendatakse see numbriga 45.
asendama.sed
/ Täppiskeskus /p; n;
/ 35 /
s / 35/45 /;
p; d;
/ 15 /
s / 15/55 /;
p; d;
p;
Faili olemasoleva sisu kontrollimiseks käivitage järgmine käsk. CSE ilmus tekstifailis neli korda. 35 ja 15 eksisteerivad kahes kohas.
$ kassiõpilased.txt
Järgmine käsk asendab sed-skripti põhjal mitme rea sisu.
$ sed -n -f asenda.sed õpilased.txtPärast käsu käivitamist ilmub järgmine väljund.
Järeldus
Selles õpetuses on näidatud erinevaid viise, kuidas asendada mitu rida või mitme rea sisu käsuga 'sed'. Kuidas saab sed-skripti sed-failist käivitada, on näidatud ka selles õpetuses. Loodan, et see õpetus aitab lugejal asendada mis tahes faili mitu rida käsu „sed” abil.