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:
- Sisestamine
- Kustutamine
- 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
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 a 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.
Kõik Linuxi käskude käsurealt õppimiseks vajalikud käsud
Loe edasi
- Linux
- Tekstiredaktor
- Terminal
- Käsurida
Deepesh on MUO Linuxi nooremtoimetaja. Ta on kirjutanud Internetis infosisu üle 3 aasta. Vabal ajal meeldib talle kirjutada, muusikat kuulata ja kitarri mängida.
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.