Urejanje besedilnih datotek in izhodne podatke terminala je vsakdanje delo tistih, ki upravljajo stroje Linux. Pripomočki ukazne vrstice, kot je sed, uporabniku omogočajo spreminjanje in spreminjanje vsebine besedilne datoteke neposredno iz terminalskega okna.
V tem članku bomo podrobno obravnavali ukaz sed, skupaj z nekaj bistvenimi primeri, ki dokazujejo moč pripomočka sed v Linuxu.
Kaj je sed Command?
Ukaz sed, kar je kratica za Urejevalnik toka, je orodje ukazne vrstice, ki uporabnikom Linuxa omogoča izvajanje besedilnih operacij nad datotekami in izhodi terminala. Uporabniki lahko s pomočjo sedanja najdejo in nadomestijo določene besede v besedilu, prikažejo določen del izhoda in urejajo besedilne datoteke, ne da bi jih odprli.
Tri osnovne operacije, ki jih podpira ukaz sed, so:
- Vstavitev
- Izbris
- Zamenjava (Najdi in zamenjaj)
Napredni uporabniki lahko z učinkovitejšim urejanjem besedilnih tokov uvedejo tudi regularne izraze z ukazom sed.
Osnovna sintaksa ukaza je:
sed [možnosti] [vzorec] [pot datoteke]
...kje opcije so različne funkcije ukaza, vzorec je regularni izraz ali skript, s katerim se želite ujemati, in pot datoteke je pot do besedilne datoteke, ki vsebuje besedilo.
10 Primeri ukaza Linux sed
Če nameravate postati navaden uporabnik Linuxa, vam bo morda koristno vedeti, kako urejati datoteke, iskati in nadomeščati določene besede ter filtrirati izhodne podatke terminala. Ta razdelek zajema nekaj primerov ukaza sed, ki vas bo zagotovo spremenil v uporabnika Linuxa.
Za predstavitev v prispevku bomo uporabili naslednjo besedilno datoteko.
To je predstavitvena besedilna datoteka.
To je neverjetna datoteka, ki nam bo vsem pomagala.
Ukaz sed je odličen tudi za urejanje tokov.
Bi se radi naučili uporabljati ukaz?
To je še ena vrstica v datoteki.
To je tretja splošna vrstica v datoteki.
Ta datoteka je poimenovana kot besedilna datoteka.
To je jabolko.
To je oranžna.
1. Oglejte si vrsto vrstic
Ukazi Linuxa, kot sta glava in rep, prikažejo prvih ali zadnjih deset vrstic besedilne datoteke. Kaj pa, če želite vsebino spraviti med dve posebni vrstici v datoteki? V takih situacijah ukaz sed lahko pride prav.
Za izhod vsebine med vrsticami 3 in 5 datoteke textfile.txt:
sed -n '3,5p' textfile.txt
The -n zastavica preprečuje, da bi sed prikazal prostor vzorcev na koncu vsakega cikla. Uporabite lahko tudi --tih in - tiho možnosti namesto -n. The str argument pomeni natisni in se uporablja za prikaz uporabniku usklajenih vrstic.
Izvedba zgoraj omenjenega ukaza v datoteki primera povzroči naslednji izhod.
Ukaz sed je odličen tudi za urejanje tokov.
Bi se radi naučili uporabljati ukaz?
To je še ena vrstica v datoteki.
Če želite izpisati celotno vsebino datoteke, razen določenega obsega, uporabite d namesto str v ukazu:
sed '3,5d' textfile.txt
The d flag izbriše ujemajoče se nize in prikaže preostalo vsebino.
To je predstavitvena besedilna datoteka.
To je neverjetna datoteka, ki nam bo vsem pomagala.
To je tretja splošna vrstica v datoteki.
Ta datoteka je poimenovana kot besedilna datoteka.
To je jabolko.
To je oranžna.
2. Prikažite zaporedne vrstice
Če želite v datoteki natisniti zaporedne vrstice med več območji:
sed -n -e '1,2p' -e '5,6p' textfile.txt
Izhod:
To je predstavitvena besedilna datoteka.
To je neverjetna datoteka, ki nam bo vsem pomagala.
To je še ena vrstica v datoteki.
To je tretja splošna vrstica v datoteki.
The -e zastava pomaga pri izvrševanje več dejanj z enim samim ukazom.
3. Vstavi presledek med vrsticami
Če želite iz kakršnega koli razloga med vsako vrstico v besedilno datoteko vstaviti prazne vrstice, uporabite G argument s privzetim ukazom sed.
sed G textfile.txt
Če želite v izhod vstaviti več praznih vrstic, podajte več G argumenti, ločeni z podpičje (;) znak.
sed 'G; G 'textfile.txt
4. Zamenjajte besedo v besedilni datoteki
Če želite zamenjati vsako pojavitev določene besede z drugo besedo, uporabite s in g argumenti z ukazom. Osnovna sintaksa za nadomeščanje besed z ukazom sed je:
sed s / originalword / replaceword / g ime datoteke
Z zgoraj omenjeno sintakso lahko besedo nadomestite neverjetno s super v datoteki textfile.txt:
sed s / neverjetno / super / g textfile.txt
The s argument označuje zamenjava in g ukaz se uporablja za zamenjavo ujemajoče se vsebine z določeno nadomestno vsebino.
Če želite drugi pojav besede nadomestiti s sed, dodajte številko na g prepir. V tem primeru:
sed s / neverjetno / super / g2 textfile.txt
Če želite med zamenjavo besed prezreti velike in male črke, uporabite gi namesto g, kje jaz pomeni prezreti Ovitek.
sed s / Amazing / super / gi textfile.txt
Sorodno: Uporaba Vi? Evo, kako odpreti datoteko, nato shraniti in zapreti
5. Nadomestne besede znotraj obsega
Besede lahko nadomestite tudi znotraj določenega obsega.
sed '2,5s / neverjetno / super / g' textfile.txt
6. Izvedite več zamenjav hkrati
Če želite izvesti dve ali več zamenjav hkrati, samo ločite ukaze z podpičje (;) znak.
sed 's / neverjetno / super / g; s / command / utility / gi 'textfile.txt
Sistem bo prikazal naslednji izhod.
To je predstavitvena besedilna datoteka.
To je super datoteka, ki nam bo pomagala vsem.
Pripomoček sed je odličen tudi za urejanje tokov.
Se želite naučiti, kako uporabljati pripomoček?
To je še ena vrstica v datoteki.
To je tretja splošna vrstica v datoteki.
Ta datoteka je poimenovana kot besedilna datoteka.
To je jabolko.
To je oranžna.
7. Besede zamenjajte samo, če najdete ujemanje
Ukaz sed lahko uporabite tudi za zamenjavo besede le, če je v vrstici dano ujemanje. Na primer za zamenjavo besede a s an če beseda oranžna je prisoten v vrstici:
sed -e '/ oranžna / s / a / an / g' textfile.txt
Z izdajo zgoraj omenjenega ukaza bo izpisano:
To je predstavitvena besedilna datoteka.
To je super datoteka, ki nam bo pomagala vsem.
Pripomoček sed je odličen tudi za urejanje tokov.
Se želite naučiti, kako uporabljati pripomoček?
To je še ena vrstica v datoteki.
To je tretja splošna vrstica v datoteki.
Ta datoteka je poimenovana kot besedilna datoteka.
To je jabolko.
To je pomaranča.
Upoštevajte, da je beseda a v vrstici To je jabolko ni bil zamenjan, ker sistem ni našel besede oranžna v.
8. Nadomestne besede z uporabo regularnih izrazov
Za tiste, ki znajo uporabljati regularne izraze, je izvajanje operacij v nizih z ukazom sed veliko lažje. Lahko uveljavite regularne izraze za povečanje moči ukaza.
Če želite nadomestiti vse pojavitve besede Neverjetno ali neverjetno s super:
sed -e 's / [Aa] mazing / super / g' textfile.txt
Podobno lahko tudi z naprednimi regularnimi izrazi izvajate določene operacije z ukazom sed.
9. Cevi sedite z drugimi ukazi
Sed lahko povežete tudi z drugimi ukazi Linux. Na primer, lahko napeljete lspci ukaz s sed za dodajanje praznih presledkov med vrsticami v izhodu.
lspci | sed G
Če želite nadomestiti določene besede v rezultatu ip show show ukaz:
ip route show | sed s / src / vir / g
Zgoraj omenjeni ukaz nadomešča besedo vir namesto izvirne besede src.
Sorodno: Kako uporabiti ukaz Find za iskanje datotek v Linuxu
10. Urejanje in varnostno kopiranje izvirne datoteke
Ko delate s sistemskimi datotekami, je pri izdelavi sprememb pomembno varnostno kopiranje izvirne datoteke. To vam bo pomagalo pri razveljavitvi sprememb, če se kaj pokvari.
Če želite varnostno kopirati izvirno datoteko s pomočjo sed, uporabite -jaz zastava v ukazu.
sed -i'.backup '' s / amazing / super / g 'textfile.txt
Z imenom bo ustvarjena nova datoteka textfile.txt.backup. Z datotekama lahko preverite, ali se datoteki razlikujeta razl ukaz.
diff textfile.txt textfile.txt.backup
Urejanje nizov v Linuxu s sed
Včasih, ko delate z besedilnimi datotekami na terminalu, sta formatiranje in urejanje izhoda za boljšo berljivost nujna. Sed in awk sta pripomočki ukazne vrstice v Linuxu, ki uporabniku omogočata učinkovito delo z besedilnimi datotekami tako, da podatke razdelijo v ločene vrstice.
Številni uporabniki si težko zapomnijo argumente in zastavice ukaza sed, saj jih je na voljo veliko. Če boste vedeli, kako pridobiti priročnike ukazne vrstice za kateri koli ukaz Linuxa, boste lažje izstopili iz takšnih situacij.
Vsi bistveni ukazi za spoznavanje ukazov Linuxa iz ukazne vrstice
Preberite Naprej
- Linux
- Urejevalnik besedil
- Terminal
- Ukazni poziv
Deepesh je mlajši urednik za Linux pri MUO. Na internetu že več kot 3 leta piše informativne vsebine. V prostem času uživa v pisanju, poslušanju glasbe in igranju kitare.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!
Še en korak…!
Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.