Tekstifailide ja terminaliväljundi muutmine on igapäevane töö neile, kes Linuxi masinaid haldavad. Käsurea utiliidid, nagu sed, võimaldavad kasutajal tekstifaili sisu otse terminaliaknast muuta ja muuta.

Selles artiklis käsitleme üksikasjalikult sed-käsku koos mõningate oluliste näidetega, mis demonstreerivad sed-i utiliidi jõudu Linuxis.

Mis on sed-käsk?

Sed-käsk, mis on lühend Voo redaktor, on käsurea tööriist, mis võimaldab Linuxi kasutajatel failide ja terminaliväljunditega tekstipõhiseid toiminguid teha. Sedi abil saavad kasutajad tekstist leida ja asendada konkreetsed sõnad, kuvada väljundi teatud osa ja redigeerida tekstifaile neid avamata.

Kolm peamist toimingut, mida käsk sed toetab, on:

  1. Sisestamine
  2. Kustutamine
  3. Asendamine (leidke ja asendage)

Edasijõudnud kasutajad saavad tekstivoogude tõhusamaks muutmiseks ka käsklusega sed regulaarsed avaldised rakendada.

Käsu põhisüntaks on:

sed [valikud] [muster] [filepath]

... kuhu valikud on käsu erinevad funktsioonid, muster on regulaaravaldis või skript, mida soovite sobitada, ja

instagram viewer
faili teekond on tee sisaldava tekstifaili tee.

10 Linuxi sed -käsu näiteid

Kui plaanite saada tavaliseks Linuxi kasutajaks, võib teile kasulik olla teadmine, kuidas faile redigeerida, konkreetseid sõnu otsida ja asendada ning terminaliväljundit filtreerida. Selles jaotises on toodud mõned näited sed-käsklusest, mis muudab teid kindlasti Linuxi kasutajaks.

Postituses kasutame demonstratsiooniks järgmist tekstifaili.

See on demo tekstifail.
See on hämmastav fail, mis aitab meid kõiki.
Sed-käsk sobib suurepäraselt ka voo redigeerimiseks.
Kas soovite õppida, kuidas käsku kasutada?
See on veel üks rida failis.
See on faili kolmas üldine rida.
Selle faili nimi on tekstifail.
See on õun.
See on oranž.

1. Kuva ridade vahemik

Linuxi käsud nagu pea ja saba väljastavad tekstifaili esimese või viimase kümne rea. Aga mis siis, kui soovite sisu failis kahe konkreetse rea vahele viia? Sellistes olukordades võib sed-käsk kasuks tulla.

Sisu väljastamiseks faili 3. ja 5. rea vahel textfile.txt:

sed -n '3,5p' textfile.txt

The -n lipp takistab sed-il iga tsükli lõpus mustriruumi kuvamist. Võite kasutada ka - vaikne ja --vaikne valikute asemel -n. The lk argument seisab printida ja seda kasutatakse sobitatud joonte kuvamiseks kasutajale.

Eespool nimetatud käsu täitmine näidisfailis annab järgmise väljundi.

Sed-käsk sobib suurepäraselt ka voo redigeerimiseks.
Kas soovite õppida, kuidas käsku kasutada?
See on veel üks rida failis.

Kogu failisisu väljastamiseks, välja arvatud määratud vahemik, kasutage nuppu d lipu asemel lk käsus:

sed '3,5d' textfile.txt

The d lipp kustutab sobitatud stringid väljundist ja kuvab ülejäänud sisu.

See on demo tekstifail.
See on hämmastav fail, mis aitab meid kõiki.
See on faili kolmas üldine rida.
Selle faili nimi on tekstifail.
See on õun.
See on oranž.

2. Kuva mittejärgmised read

Mitu järjestikuse rea printimiseks faili mitme vahemiku vahel:

sed -n -e '1,2p' -e '5,6p' tekstifail.txt

Väljund:

See on demo tekstifail.
See on hämmastav fail, mis aitab meid kõiki.
See on veel üks rida failis.
See on faili kolmas üldine rida.

The -e lipp aitab sisse hukkamine mitu toimingut ühe käsu abil.

3. Sisestage tühik joonte vahele

Kui soovite mingil põhjusel sisestada tekstifaili iga rea ​​vahele tühjad read, kasutage nuppu G argument vaikekäsuga sed.

sed G textfile.txt

Mitme tühja rea ​​sisestamiseks väljundisse edastage mitu G argumendid eraldatud semikoolon (;) märk.

sed 'G; G 'textfile.txt

4. Asendage tekstifailis sõna

Kui soovite asendada konkreetse sõna iga esinemise mõne muu sõnaga, kasutage klahvi s ja g argumendid käsuga. Põhiline süntaks sõnade asendamiseks sed-käsu abil on järgmine:

sed s / originaalsõna / asendussõna / g failinimi

Eespool nimetatud süntaksit kasutades saate sõna asendada hämmastav koos Super failis textfile.txt:

sed s / hämmastav / super / g textfile.txt

The s argument tähistab asendamine ja g käsku kasutatakse sobitatud sisu asendamiseks määratud asendussisuga.

Sõna teise esinemise asendamiseks sed-iga edastage arvule number g argument. Sel juhul:

sed s / hämmastav / super / g2 textfile.txt

Kui soovite sõnade asendamise ajal ignoreerida tähemärke, kasutage gi selle asemel g, kus i tähistab ignoreeri juhtum.

sed s / Hämmastav / super / gi textfile.txt

Seotud: Kas kasutate Vi? Siin on, kuidas faili avada, seejärel salvestada ja sulgeda

5. Asendussõnad vahemikus

Samuti võite asendada sõnu kindlas vahemikus.

sed '2,5s / hämmastav / super / g' textfile.txt

6. Tehke mitu asendust korraga

Kui soovite teha kaks või enam asendust korraga, eraldage lihtsalt käsud tähisega semikoolon (;) märk.

sed '/ hämmastav / super / g; s / command / utility / gi 'textfile.txt

Süsteem kuvab järgmise väljundi.

See on demo tekstifail.
See on superfail, mis aitab meid kõiki.
Sed-utiliit sobib suurepäraselt ka voogude redigeerimiseks.
Kas soovite õppida utiliidi kasutamist?
See on veel üks rida failis.
See on faili kolmas üldine rida.
Selle faili nimi on tekstifail.
See on õun.
See on oranž.

7. Asendage sõnad ainult siis, kui leitakse vaste

Sõna asendamiseks saate sed-käsku kasutada ka ainult siis, kui real on antud vaste leitud. Näiteks sõna asendamiseks a koos an kui sõna oranž on reas olemas:

sed -e '/ oranž / s / a / an / g' textfile.txt

Eespool nimetatud käsu väljastamine väljastab:

See on demo tekstifail.
See on superfail, mis aitab meid kõiki.
Sed-utiliit sobib suurepäraselt ka voogude redigeerimiseks.
Kas soovite õppida utiliidi kasutamist?
See on veel üks rida failis.
See on faili kolmas üldine rida.
Selle faili nimi on tekstifail.
See on õun.
See on oranž.

Pange tähele, et sõna reas See on õun ei asendatud, kuna süsteem ei leidnud seda sõna oranž selles.

8. Regulaarsete avaldiste abil asendage sõnad

Neile, kes teavad, kuidas regulaaravaldisi kasutada, muutub stringide abil toimingute tegemine käsu sed abil palju lihtsamaks. Käsu võimsuse suurendamiseks võite rakendada regulaaravaldisi.

Kõigi sõna esinemiste asendamiseks Hämmastav või hämmastav koos Super:

sed -e 's / [Aa] mazing / super / g' textfile.txt

Samamoodi saate käsku sed kasutades konkreetsete toimingute sooritamiseks kasutada ka täpsemaid regulaaravaldisi.

9. Pipe sed teiste käskudega

Sed-i saate aheldada ka teiste Linuxi käskudega. Näiteks saate toru lspci käsk koos sediga väljundi ridade vahele tühjade tühimike lisamiseks.

lspci | sed G

Konkreetsete sõnade asendamiseks ip marsruudi saade käsk:

ip marsruudi saade | sed s / src / allikas / g

Eelnimetatud käsk asendab sõna allikas algsõna asemel src.

Seotud: Kuidas kasutada käsku Otsi failide otsimiseks Linuxis

10. Redigeerige ja varundage algfail

Kui töötate süsteemifailidega, on algse faili varundamine muudatuste tegemise ajal oluline. See aitab teil muudatused tühistada juhul, kui midagi puruneb.

Originaalfaili varundamiseks sed-i abil kasutage nuppu -i lipp käsus.

sed -i'.backup 's / hämmastav / super / g' textfile.txt

Selle nimega luuakse uus fail textfile.txt.backup. Selle abil saate kontrollida, kas need kaks faili erinevad dif käsk.

diff textfile.txt textfile.txt.backup

Stringide muutmine Linuxis koos sed

Mõnikord, kui töötate terminalis tekstifailidega, muutub väljundi vormindamine ja muutmine parema loetavuse huvides vajalikuks. Sed ja awk on Linuxi käsurea utiliidid, mis võimaldavad kasutajal tekstifailidega tõhusalt töötada, jagades andmed eraldi ridadeks.

Paljudel kasutajatel on keeruline sed käskude argumente ja lippe meelde jätta, kuna neid on palju kasutada. Teadmine, kuidas saada Linuxi käskude jaoks käsurea käsiraamatuid, aitab teil sellistest olukordadest hõlpsalt välja tulla.

E-post
7 viisi, kuidas saada Linuxist käsurea abi

Kõik Linuxi käskude käsurealt õppimiseks vajalikud käsud

Loe edasi

Seotud teemad
  • Linux
  • Tekstiredaktor
  • Terminal
  • Käsurida
Autori kohta
Sügav Sharma (Avaldatud 36 artiklit)

Deepesh on MUO Linuxi nooremtoimetaja. Ta on kirjutanud Internetis infosisu üle 3 aasta. Vabal ajal meeldib talle kirjutada, muusikat kuulata ja kitarri mängida.

Veel Deepesh Sharmalt

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm !!!

Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.

.