Yleisesti käytetty sed-huijausarkki:
Sed-komennossa yleisimmin käytetyt merkit selitetään seuraavassa taulukossa.
Merkki | Tarkoitus |
a | Sitä käytetään sisällön lisäämiseen. |
b | Sitä käytetään sisällön haaroittamiseen. |
c | Sitä käytetään sisällön muuttamiseen. |
d | Sitä käytetään tiedostorivin poistamiseen. |
D | Sitä käytetään tiedoston ensimmäisen rivin poistamiseen. |
g | Sitä käytetään kopioimaan pitotekstistä. |
G | Sitä käytetään liittämään pitotekstistä. |
h | Sitä käytetään kopioimaan pitoteksti. |
H | Sitä käytetään liittämään pitotekstiin. |
i | Sitä käytetään lisäykseen. |
Minä | Sitä käytetään korvaavan rivin tulostamiseen. |
n | Sitä käytetään siirtymään seuraavalle riville. |
N | Sitä käytetään seuraavan syöttörivin liittämiseen. |
s | Sitä käytetään tulostamiseen. |
P | Sitä käytetään ensimmäisen rivin tulostamiseen. |
q | Sitä käytetään lopettamiseen. |
Q | Sitä käytetään lopettamaan välittömästi. |
r | Sitä käytetään tiedoston lukemiseen. |
R | Sitä käytetään rivin lukemiseen tiedostosta. |
s | Sitä käytetään korvaamaan. |
t | Sitä käytetään korvaamisen testaamiseen. |
T | Sitä käytetään korvaamattomuuden testaamiseen. |
w | Sitä käytetään tiedostoon kirjoittamiseen. |
W | Sitä käytetään rivin kirjoittamiseen tiedostoon. |
x | Sitä käytetään kuvioiden vaihtamiseen ja pitämiseen. |
y | Sitä käytetään kääntämään. |
z | Sitä käytetään viivan tyhjentämiseen. |
'=' | Sitä käytetään rivinumeron tulostamiseen. |
Korvaa useita rivejä käyttämällä päätelaitteen sed komentoa:
Kuinka 'sed' -komentoa voidaan käyttää korvaamaan terminaalin tiedoston useita rivejä, on tämän opetusohjelman tässä osassa. Luo tiedosto nimeltä sed.txt seuraavalla sisällöllä testaa tämän osan komennot.
sed.txt
Sedin koko muoto on "stream editor".
Se on Unix-apuohjelma, jota käytetään tekstin lukemiseen ja muuntamiseen eri muodossa.
Sen on kehittänyt Lee E. McMahon.
Sitä käytetään tekstinkäsittelyyn.
Se tukee säännöllisiä lausekkeita.
Esimerkki 1: Korvaa kaksi peräkkäistä riviä
Seuraava 'sed' -komento korvaa kaksi peräkkäistä riviä toisella rivillä. Tässä vaihtoehtoa -z käytetään korvaamaan peräkkäiset rivit nolladatalla ennen korvaavan tekstin lisäämistä. Komennon mukaan 3rd ja 4th tiedoston rivit korvataan tekstillä, 'Se on erittäin hyödyllinen työkalu'.
$ kissa sed.txt$ sed -z 's / Sen on kehittänyt Lee E. McMahon.\ nSitä käytetään tekstiin
käsittely./ Se on erittäin hyödyllinen työkalu./ 'sed.txt
Seuraava tulos tulee näkyviin komentojen suorittamisen jälkeen.
Esimerkki 2: Korvaa useita rivejä ottelun ja yleisen lipun perusteella
Seuraava 'sed' -komento korvaa kaikki sanalla alkavat rivit, 'Se' sanalla,Tämä rivi korvataan '.
$ kissa sed.txt$ sed 's / ^ Se.* / Tämä rivi korvataan / g 'sed.txt
Seuraava tulos tulee näkyviin komentojen suorittamisen jälkeen. Kolme riviä sisältää sanan ''Se"tiedostossa. Joten nämä rivit on korvattu korvaavalla tekstillä.
Esimerkki 3: Korvaa useita rivejä ottelun ja seuraavan rivin komennon perusteella
Seuraava 'sed' -komento korvaa sanan 'On"sanalla",oli'seuraavan rivin komennolla' n '.
$ kissa sed.txt$ sed 'n; / is / s / is / was / sed.txt
Seuraava tulos tulee näkyviin komentojen suorittamisen jälkeen. Tässä, 'On' on olemassa 2nd ja 4th tiedoston rivit, ja sana muokkaa näitä rivejä 'oli'.
Korvaa useita rivejä luomalla sed-komentosarjatiedosto:
Aikaisemmissa esimerkeissä 'sed' -komennot on suoritettu päätelaitteelta. Mutta se on komentosarjakieli, ja jos komentosarja sisältää useita lauseita, on parempi luoda sed-tiedosto komentosarjan kanssa. Luo tekstitiedosto nimeltä opiskelijoille.txt seuraavan sisällön kanssa, jossa 'sed' -komentosarjaa käytetään.
opiskelijoille.txt
ID: 111045Nimi: Robert
Osasto: CSE
Erä: 35
ID: 111876
Nimi: Joseph
Laitos: BBA
Erä: 27
ID: 111346
Nimi: William
Osasto: CSE
Erä: 45
ID: 111654
Nimi: Charles
Osasto: Sähkö- ja elektroniikkalaitteet
Erä: 41
ID: 111346
Nimi: John
Osasto: CSE
Erä: 25
ID: 111746
Nimi: Thomas
Osasto: CSE
Erä: 15
Esimerkki 4: Korvaa tiedoston useita rivejä Sed-komentotiedostolla
Luo sed-tiedosto nimeltä korvata.sed seuraavalla sisällöllä korvaamaan useita rivejä hakumallin perusteella. Tässä sana 'Täsmähakukone'haetaan tekstitiedostosta, ja jos vastaavuus on olemassa, se etsii taas numeroita 35 ja 15. Jos tiedostossa on toinen osuma, se korvataan numerolla 45.
korvata.sed
/ Täsmähakukone /p; n;
/ 35 /
s / 35/45 /;
p; d;
/ 15 /
s / 15/55 /;
p; d;
p;
Suorita seuraava komento tarkistaaksesi tiedoston olemassa olevan sisällön. CSE ilmestyi neljä kertaa tekstitiedostoon. 35 ja 15 ovat olemassa kahdessa paikassa.
$ kissaopiskelijoita.txt
Seuraava komento korvaa usean rivin sisällön sed-komentosarjan perusteella.
$ sed -n -f korvaa.sed opiskelijat.txtSeuraava tulos tulee näkyviin komennon suorittamisen jälkeen.
Johtopäätös
Tässä opetusohjelmassa on esitetty useita tapoja korvata useita rivejä tai useiden rivien sisältö käyttämällä 'sed' -komentoa. Kuinka 'sed' -komentosarja voidaan suorittaa sed-tiedostosta, näkyy myös tässä opetusohjelmassa. Toivon, että tämä opetusohjelma auttaa lukijaa korvaamaan minkä tahansa tiedoston useita rivejä käyttämällä 'sed' -komentoa.