Redaguoti tekstinius failus ir terminalo išvestį yra kasdienis darbas tiems, kurie administruoja „Linux“ mašinas. Komandinės eilutės komunalinės paslaugos, tokios kaip „sed“, leidžia vartotojui keisti ir pakeisti teksto failo turinį tiesiai iš terminalo lango.

Šiame straipsnyje mes išsamiai aptarsime komandą „sed“, kartu su keliais esminiais pavyzdžiais, kurie parodo „sed“ įrankio galią „Linux“.

Kas yra „sed“ komanda?

„Sed“ komanda, kuri yra akronimas Srauto redaktorius, yra komandinės eilutės įrankis, leidžiantis „Linux“ vartotojams atlikti teksto operacijas su failais ir terminalo išvestimis. Naudodami „sed“, vartotojai gali rasti ir pakeisti konkrečius žodžius tekste, rodyti tam tikrą išvesties sekciją ir redaguoti tekstinius failus jų neatidarę.

Trys pagrindinės „sed“ komandos palaikomos operacijos yra šios:

  1. Įterpimas
  2. Ištrinti
  3. Pavadavimas (raskite ir pakeiskite)

Pažengę vartotojai taip pat gali įgyvendinti įprastas išraiškas naudodami komandą „sed“, kad efektyviau redaguotų teksto srautus.

instagram viewer

Pagrindinė komandos sintaksė yra:

sed [parinktys] [modelis] [filepath]

... kur galimybės yra įvairios komandos funkcijos, raštas yra reguliarioji išraiška arba scenarijus, kurį norite suderinti, ir bylos kelias yra kelias į teksto failą, kuriame yra tekstas.

10 „Linux sed“ komandos pavyzdžių

Jei planuojate tapti įprastu „Linux“ vartotoju, jums gali būti naudinga žinoti, kaip redaguoti failus, ieškoti ir pakeisti konkrečius žodžius bei filtruoti terminalo išvestį. Šiame skyriuje pateikiami keli „sed“ komandos pavyzdžiai, kurie tikrai pavers jus „Linux“ energijos vartotoju.

Parodoje įraše naudosime šį tekstinį failą.

Tai yra demonstracinis tekstinis failas.
Tai nuostabi byla, kuri padės mums visiems.
„Sed“ komanda taip pat puikiai tinka redaguoti srautą.
Norite išmokti naudotis komanda?
Tai dar viena failo eilutė.
Tai trečioji bendroji failo eilutė.
Šis failas pavadintas teksto byla.
Tai obuolys.
Tai yra oranžinė spalva.

1. Peržiūrėkite eilučių diapazoną

„Linux“ komandos, tokios kaip galva ir uodega, išleidžia pirmąsias arba paskutines dešimt teksto failo eilučių. Bet ką daryti, jei norite, kad failo turinys būtų tarp dviejų konkrečių eilučių? Tokiose situacijose sed komanda gali būti naudinga.

Turinio išvestis tarp 3 ir 5 failo eilučių textfile.txt:

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

-n vėliava neleidžia sed rodyti rašto tarpo kiekvieno ciklo pabaigoje. Taip pat galite naudoti --tyliai ir --tylus vietoj -n. p argumentas reiškia spausdinti ir naudojamas suderintoms linijoms rodyti vartotojui.

Vykdant minėtą komandą pavyzdiniame faile, gaunama tokia išvestis.

„Sed“ komanda taip pat puikiai tinka redaguoti srautą.
Norite išmokti naudotis komanda?
Tai dar viena failo eilutė.

Norėdami išleisti visą failo turinį, išskyrus nurodytą diapazoną, naudokite d vėliava vietoj p komandoje:

sed '3,5d' textfile.txt

d vėliava pašalina suderintas eilutes iš išvesties ir rodo likusį turinį.

Tai yra demonstracinis tekstinis failas.
Tai nuostabi byla, kuri padės mums visiems.
Tai trečioji bendroji failo eilutė.
Šis failas pavadintas teksto byla.
Tai obuolys.
Tai yra oranžinė spalva.

2. Rodyti nesuderinamas eilutes

Norėdami atspausdinti nesudėtingas eilutes tarp kelių failo diapazonų:

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

Išvestis:

Tai yra demonstracinis tekstinis failas.
Tai nuostabi byla, kuri padės mums visiems.
Tai dar viena failo eilutė.
Tai trečioji bendroji failo eilutė.

-e vėliava padeda vykdymas keli veiksmai naudojant vieną komandą.

3. Įterpkite tarpą tarp eilučių

Jei dėl kokių nors priežasčių norite įterpti tuščias eilutes tarp kiekvienos teksto failo eilutės, naudokite G argumentas su numatytąja sed komanda.

sed G textfile.txt

Norėdami į išvestį įterpti kelias tuščias eilutes, perduokite kelias G argumentai atskirti dvitaškis (;) charakteris.

sed 'G; G 'textfile.txt

4. Pakeiskite žodį teksto faile

Jei norite pakeisti kiekvieną konkretaus žodžio atvejį kitu žodžiu, naudokite s ir g argumentai su komanda. Pagrindinė žodžių pakeitimo naudojant komandą sed sintaksė yra:

sed s / originalword / pakeisti žodį / g failo pavadinimas

Naudodamiesi minėta sintakse, galite pakeisti žodį nuostabu su super byloje textfile.txt:

sed s / nuostabi / super / g textfile.txt

s argumentas žymi pakeitimas ir g komanda naudojama suderintam turiniui pakeisti nurodytu pakaitiniu turiniu.

Jei norite pakeisti antrąjį žodžio atvejį sed, perduokite skaičių g argumentas. Tokiu atveju:

sed s / nuostabi / super / g2 textfile.txt

Jei norite nepaisyti simbolių, pakeisdami žodžius, naudokite gi vietoj g, kur i reiškia ignoruoti atveju.

sed s / Nuostabus / super / gi textfile.txt

Susijęs: Naudojate Vi? Štai kaip atidaryti failą, tada išsaugoti ir uždaryti

5. Pakeiskite žodžius diapazone

Taip pat galite pakeisti žodžius konkrečiame diapazone.

sed '2,5s / nuostabi / super / g' textfile.txt

6. Atlikite kelis pakeitimus vienu metu

Jei norite atlikti du ar daugiau pakeitimų vienu metu, tiesiog atskirkite komandas su dvitaškis (;) charakteris.

sed 's / nuostabi / super / g; s / command / utility / gi 'textfile.txt

Sistema parodys šią išvestį.

Tai yra demonstracinis tekstinis failas.
Tai puikus failas, kuris padės mums visiems.
Sed programa taip pat puikiai tinka redaguoti srautą.
Norite sužinoti, kaip naudotis priemone?
Tai dar viena failo eilutė.
Tai trečioji bendroji failo eilutė.
Šis failas pavadintas teksto byla.
Tai obuolys.
Tai yra oranžinė spalva.

7. Pakeiskite žodžius tik tuo atveju, jei randama atitiktis

Taip pat galite naudoti komandą sed žodžiui pakeisti tik tuo atveju, jei eilutėje randama duota atitiktis. Pavyzdžiui, pakeisti žodį a su an jei žodis oranžinė yra eilutėje:

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

Išdavus minėtą komandą, bus išvestas:

Tai yra demonstracinis tekstinis failas.
Tai puikus failas, kuris padės mums visiems.
Sed programa taip pat puikiai tinka redaguoti srautą.
Norite sužinoti, kaip naudotis priemone?
Tai dar viena failo eilutė.
Tai trečioji bendroji failo eilutė.
Šis failas pavadintas teksto byla.
Tai obuolys.
Tai yra oranžinė spalva.

Atkreipkite dėmesį, kad žodis eilutėje Tai obuolys nebuvo pakeista, nes sistema nerado žodžio oranžinė jame.

8. Žodžius pakeiskite reguliariaisiais posakiais

Tiems, kurie moka naudoti įprastus posakius, atlikti operacijas su eilutėmis naudojant komandą „sed“ tampa daug lengviau. Norėdami sustiprinti komandos galią, galite įdiegti reguliarius posakius.

Pakeisti visus žodžio atvejus Nuostabu arba nuostabu su super:

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

Taip pat galite naudoti išplėstinius reguliarius posakius, kad atliktumėte konkrečias operacijas naudodami komandą sed.

9. Vamzdis sed su kitomis komandomis

Taip pat galite susieti grandines su kitomis „Linux“ komandomis. Pavyzdžiui, galite vamzdį lspci komanda su sed pridėti ištuštintų tarpų tarp eilučių išvestyje.

lspci | sed G

Konkrečius žodžius pakeisti išvestyje ip maršruto šou komanda:

ip maršruto šou | sed s / src / šaltinis / g

Minėta komanda pakeičia žodį šaltinis originalaus žodžio vietoje src.

Susijęs: Kaip naudoti „Find“ komandą ieškant failų sistemoje „Linux“

10. Redaguoti ir sukurti atsarginę originalaus failo kopiją

Kai dirbate su sistemos failais, svarbu padaryti atsarginę originalaus failo atsarginę kopiją atliekant pakeitimus. Tai padės jums pakeisti pakeitimus, jei kažkas sugedo.

Norėdami sukurti atsarginę originalaus failo kopiją naudodami „Sed“, naudokite -i vėliava komandoje.

sed -i'.backup 's / nuostabus / super / g' textfile.txt

Bus sukurtas naujas failas su pavadinimu textfile.txt.backup. Galite patikrinti, ar abu failai skiriasi, naudodami dif komandą.

diff textfile.txt textfile.txt.backup

Redaguoti eilutes sistemoje „Linux“ su sed

Kartais, kai dirbate su teksto failais terminale, formuoti ir redaguoti išvestį, kad būtų lengviau skaityti, būtina. „Sed“ ir „awk“ yra komandinės eilutės „Linux“ priemonės, leidžiančios vartotojui efektyviai dirbti su teksto failais, padalijant duomenis į atskiras eilutes.

Daugeliui vartotojų sunku įsiminti „sed“ komandos argumentus ir vėliavas, nes jų yra daug, kurias galima naudoti. Žinojimas, kaip gauti bet kurios „Linux“ komandos komandinės eilutės vadovus, padės lengvai išsisukti iš tokių situacijų.

El
7 būdai, kaip gauti komandinės eilutės pagalbą sistemoje „Linux“

Visos svarbiausios komandos, skirtos sužinoti apie „Linux“ komandas iš komandinės eilutės

Skaitykite toliau

Susijusios temos
  • „Linux“
  • Teksto redaktorius
  • Terminalas
  • Komandinė eilutė
Apie autorių
„Deepesh Sharma“ (Paskelbti 36 straipsniai)

Deepesh yra MUO „Linux“ jaunesnysis redaktorius. Jis daugiau nei 3 metus rašė informacinį turinį internete. Laisvalaikiu jam patinka rašyti, klausytis muzikos ir groti gitara.

Daugiau iš „Deepesh Sharma“

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.