Uređivanje tekstualnih datoteka i izlaz na terminalu svakodnevni je posao za one koji administriraju Linux strojeve. Uslužni programi naredbenog retka poput sed omogućuju korisniku izmjenu i promjenu sadržaja tekstualne datoteke izravno iz prozora terminala.

U ovom ćemo članku detaljno razmotriti naredbu sed, zajedno s nekoliko bitnih primjera koji pokazuju snagu uslužnog programa sed u Linuxu.

Što je naredba sed?

Naredba sed, što je akronim za Uređivač streama, alat je naredbenog retka koji korisnicima Linuxa omogućuje izvršavanje operacija temeljene na tekstu na datotekama i izlazima terminala. Koristeći sed, korisnici mogu pronaći i zamijeniti određene riječi u tekstu, prikazati određeni odjeljak rezultata i uređivati ​​tekstualne datoteke bez otvaranja.

Tri osnovne operacije podržane naredbom sed su:

  1. Umetanje
  2. Brisanje
  3. Zamjena (Pronađi i zamijeni)

Napredni korisnici također mogu implementirati regularne izraze pomoću naredbe sed za učinkovitije uređivanje tekstualnih tokova.

Osnovna sintaksa naredbe je:

sed [opcije] [uzorak] [put datoteke]

...gdje mogućnosti su razne funkcionalnosti naredbe, uzorak je regularni izraz ili skripta kojoj se želite podudarati, i put datoteke je put do tekstualne datoteke koja sadrži tekst.

10 primjera naredbe Linux sed

Ako planirate postati redoviti korisnik Linuxa, znalo bi vam kako uređivati ​​datoteke, pretraživati ​​i zamijeniti određene riječi i filtrirati izlaz na terminalu. Ovaj odjeljak obuhvaća neke primjere naredbe sed koja će vas definitivno pretvoriti u Linux moćnog korisnika.

Sljedeću ćemo tekstualnu datoteku koristiti za demonstraciju u postu.

Ovo je demo tekstualna datoteka.
To je nevjerojatna datoteka koja će nam svima pomoći.
Naredba sed također je izvrsna za uređivanje streama.
Želite naučiti kako se koristiti naredbom?
Ovo je još jedan redak u datoteci.
Ovo je treći opći redak u datoteci.
Ova datoteka naziva se tekstualna datoteka.
Ovo je jabuka.
Ovo je naranča.

1. Pogledajte niz linija

Linux naredbe, poput glave i repa, daju prvih ili posljednjih deset redaka tekstualne datoteke. Ali što ako želite dobiti sadržaj između dva određena retka u datoteci? U takvim bi situacijama naredba sed mogla dobro doći.

Za izlaz sadržaja između redaka 3 i 5 datoteke tekstualna datoteka.txt:

sed -n '3,5p' tekstualna datoteka.txt

The -n zastava sprječava sed da prikaže prostor uzorka na kraju svakog ciklusa. Također možete koristiti --miran i - tiho opcije umjesto -n. The str argument stoji ispis a koristi se za prikaz usklađenih linija s korisnikom.

Izvršavanje gore spomenute naredbe na datoteci primjera daje sljedeći izlaz.

Naredba sed također je izvrsna za uređivanje streama.
Želite naučiti kako se koristiti naredbom?
Ovo je još jedan redak u datoteci.

Za izlaz cijelog sadržaja datoteke, osim navedenog raspona, upotrijebite d zastava umjesto str u naredbi:

sed '3,5d' tekstualna datoteka.txt

The d flag briše podudarne nizove s izlaza i prikazuje ostatak sadržaja.

Ovo je demo tekstualna datoteka.
To je nevjerojatna datoteka koja će nam svima pomoći.
Ovo je treći opći redak u datoteci.
Ova datoteka naziva se tekstualna datoteka.
Ovo je jabuka.
Ovo je naranča.

2. Prikažite redoslijede koji nisu uzastopni

Za ispis redaka koji nisu uzastopni između više raspona u datoteci:

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

Izlaz:

Ovo je demo tekstualna datoteka.
To je nevjerojatna datoteka koja će nam svima pomoći.
Ovo je još jedan redak u datoteci.
Ovo je treći opći redak u datoteci.

The -e zastava pomaže u izvršavajući više radnji pomoću jedne naredbe.

3. Umetnite razmak između linija

Ako iz bilo kojeg razloga želite umetnuti prazne retke između svakog retka u tekstualnoj datoteci, upotrijebite G argument sa zadanom naredbom sed.

sed G tekstualna datoteka.txt

Da biste umetnuli više praznih redaka u izlaz, dodajte više njih G argumenti odvojeni znakom točka i zarez (;) karakter.

sed 'G; G 'tekstualna datoteka.txt

4. Zamijenite riječ u tekstualnoj datoteci

Ako želite zamijeniti svaku pojavu određene riječi nekom drugom, upotrijebite s i g argumenti s naredbom. Osnovna sintaksa zamjene riječi pomoću naredbe sed je:

sed s / originalword / replaceword / g naziv datoteke

Koristeći gore spomenutu sintaksu, možete zamijeniti riječ nevjerojatna s super u spisu tekstualna datoteka.txt:

sed s / amazing / super / g textfile.txt

The s argument označava supstitucija i g naredba se koristi za zamjenu odgovarajućeg sadržaja navedenim zamjenskim sadržajem.

Da biste drugu pojavu riječi zamijenili sed, dodajte broj na g argument. U ovom slučaju:

sed s / amazing / super / g2 textfile.txt

Ako želite zanemariti velika i mala slova tijekom zamjene riječi, upotrijebite gi umjesto g, gdje ja stoji za zanemariti slučaj.

sed s / Amazing / super / gi textfile.txt

Povezano: Upotreba Vi? Evo kako otvoriti datoteku, a zatim spremiti i zatvoriti

5. Zamjenske riječi unutar raspona

Također možete zamijeniti riječi unutar određenog raspona.

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

6. Izvršite više zamjena odjednom

Ako želite izvesti dvije ili više zamjena odjednom, samo odvojite naredbe znakom točka i zarez (;) karakter.

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

Sustav će prikazati sljedeći izlaz.

Ovo je demo tekstualna datoteka.
To je super datoteka koja će nam svima pomoći.
Uslužni program sed također je izvrstan za uređivanje streama.
Želite naučiti kako koristiti uslužni program?
Ovo je još jedan redak u datoteci.
Ovo je treći opći redak u datoteci.
Ova datoteka naziva se tekstualna datoteka.
Ovo je jabuka.
Ovo je naranča.

7. Zamijenite riječi samo ako je pronađeno podudaranje

Naredbu sed možete koristiti i za zamjenu riječi samo ako je u retku pronađeno dano podudaranje. Na primjer, za zamjenu riječi a s an ako je riječ naranča je prisutan u retku:

sed -e '/ narančasta / s / a / an / g' tekstualna datoteka.txt

Izdavanjem gore spomenute naredbe izlazit će:

Ovo je demo tekstualna datoteka.
To je super datoteka koja će nam svima pomoći.
Uslužni program sed također je izvrstan za uređivanje streama.
Želite naučiti kako koristiti uslužni program?
Ovo je još jedan redak u datoteci.
Ovo je treći opći redak u datoteci.
Ova datoteka naziva se tekstualna datoteka.
Ovo je jabuka.
Ovo je naranča.

Imajte na umu da je riječ u liniji Ovo je jabuka nije zamijenjen jer sustav nije pronašao riječ naranča u tome.

8. Zamjenske riječi pomoću regularnih izraza

Za one koji znaju koristiti regularne izraze, izvođenje operacija na stringovima pomoću naredbe sed postaje puno lakše. Možete implementirati regularne izraze kako biste poboljšali snagu naredbe.

Zamijeniti sve pojave riječi Nevjerojatno ili nevjerojatna s super:

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

Slično tome, napredne regularne izraze možete koristiti i za izvršavanje određenih operacija pomoću naredbe sed.

9. Upotrijebite ostale naredbe

Sed možete povezati i drugim Linux naredbama. Na primjer, možete cijevi lspci naredba sa sed za dodavanje praznih razmaka između redaka u izlazu.

lspci | sed G

Zamijeniti određene riječi u izlazu ip ruta show naredba:

ip route show | sed s / src / izvor / g

Spomenuta naredba zamjenjuje riječ izvor umjesto izvorne riječi src.

Povezano: Kako koristiti naredbu Pronađi za traženje datoteka u Linuxu

10. Uredite i napravite sigurnosnu kopiju izvorne datoteke

Kada radite sa sistemskim datotekama, izrada sigurnosnih kopija izvorne datoteke tijekom izmjena je važna. To će vam pomoći u poništavanju promjena u slučaju da se nešto pokvari.

Da biste sigurnosnu kopiju izvorne datoteke koristili sed, upotrijebite -i zastava u naredbi.

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

Stvorit će se nova datoteka s imenom textfile.txt.backup. Možete provjeriti razlikuju li se dvije datoteke pomoću razl naredba.

diff textfile.txt textfile.txt.backup

Uređivanje nizova u Linuxu Sa sed

Ponekad, dok radite s tekstualnim datotekama na terminalu, formatiranje i uređivanje izlaza radi bolje čitljivosti postaje neophodno. Sed i awk su uslužni programi naredbenog retka u Linuxu koji omogućavaju korisniku učinkovit rad s tekstualnim datotekama dijeljenjem podataka u zasebne retke.

Mnogi korisnici teško pamte argumente i zastavice naredbe sed, jer ih je mnogo na raspolaganju. Znanje kako doći do priručnika za naredbeni redak za bilo koju naredbu Linuxa pomoći će vam da se lako izvučete iz takvih situacija.

E-mail
7 načina za dobivanje pomoći za naredbeni redak na Linuxu

Sve bitne naredbe za učenje o Linux naredbama iz naredbenog retka

Pročitajte Dalje

Povezane teme
  • Linux
  • Uređivač teksta
  • Terminal
  • Naredbeni redak
O autoru
Deepesh Sharma (Objavljeno 36 članaka)

Deepesh je mlađi urednik za Linux u MUO. Na internetu piše informativni sadržaj više od 3 godine. U slobodno vrijeme uživa u pisanju, slušanju glazbe i sviranju gitare.

Više od Deepesh Sharme

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Još jedan korak…!

Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.

.