Järgmine väljund näitab, et süsteemi 4.4 on installitud GNU Sed.
Süntaks:
sed [võimalusi]...[skript] [faili]
Kui käsku 'sed' pole failinimele antud, töötab skript standardsete sisendandmetega. Skripti 'sed' saab käivitada ilma valikuvõimalusteta.
Sisu :
- Põhiline teksti asendamine „sed” abil
- Asendage kõik teksti eksemplarid faili kindlal real, kasutades valikut „g”
- Asendage igal real ainult vaste teine esinemine
- Asendage igal real ainult vaste viimane esinemine
- Asendage faili esimene vaste uue tekstiga
- Asendage faili viimane vaste uue tekstiga
- Kaldkriipsu asendamine asenduskäsklustes, et hallata otsingut ja failiteede asendamist
- Asendage kõigi failide täielik tee lihtsalt failinimega ilma kataloogita
- Asendage tekst, kuid ainult siis, kui stringist leitakse mõni muu tekst
- Asendage tekst, kuid ainult siis, kui mõnda muud teksti stringist ei leita
- Lisage string enne sobivat mustrit, kasutades klahvi „ 1 '
- Kustutage sobivad read
- Kustutage vastav rida ja 2 rida pärast vastavat rida
- Kustutage kõik tekstirida lõpus olevad tühikud
- Kustutage kõik read, millel on vaste kaks korda
- Kustutage kõik read, millel on ainus tühik
- Kustutage kõik mitteprinditavad märgid
- Kui reas on vaste, lisage rea lõppu midagi
- Kui rea lisamise real on enne matši vaste
- Kui rea sisestamise real on vaste pärast mängu
- Kui vastet pole, lisage rea lõppu midagi
- Kui vastet pole, kustutage rida
- Kopeerige sobiv tekst pärast tühiku lisamist pärast teksti
- Asendage üks stringide loendist uue stringiga
- Asendage vastav string stringiga, mis sisaldab uusi ridu
- Eemaldage failist uued read ja sisestage iga rea lõppu koma
- Eemaldage komad ja lisage uued read, et jagada tekst mitmeks reaks
- Leidke tõstutundetu vaste ja kustutage rida
- Leidke väiketundetundetu vaste ja asendage see uue tekstiga
- Leidke suurtähti ja tundmatut vastet ja asendage sama teksti suurtähtedega
- Leidke väiketähtedeta vaste ja asendage sama teksti kõigi väiketähtedega
- Asendage tekstis kõik suured tähed väiketähtedega
- Otsige realt numbrit ja lisage numbri järele valuutasümbol
- Lisage komad arvudele, mis sisaldavad rohkem kui 3 numbrit
- Asendage vahelehtede tähemärgid 4 tühimärgiga
- Asendage 4 järjestikust tühikut tähemärgi abil
- Lõika kõik read esimese 80 tähemärgini
- Otsige stringi regulaaravaldist ja lisage selle järele mõni standardtekst
- Otsige stringi regulaaravaldist ja pärast seda leitud koopia teist koopiat
- Mitmerealiste 'sed' skriptide käivitamine failist
- Sobitage mitmerealine muster ja asendage uue mitmerealise tekstiga
- Asendage kahe mustriga sobiva sõna järjekord
- Kasutage käsurealt mitmeid sed-käske
- Ühendage sed teiste käskudega
- Sisestage faili tühi rida
- Kustutage faili igast reast kõik tähtnumbrilised tähemärgid.
- Kasutage stringi sobitamiseks „&”
- Vahetage sõnapaari
- Suurtähtedega kirjutage iga sõna esimene täht
- Printige faili ridade numbrid
1. Põhiline teksti asendamine sõnaga „sed”
Teksti mõnda konkreetset osa saab otsida ja asendada, kasutades otsingut ja mustri asendamist käsuga 'sed'. Järgmises näites tähistab „s” otsingu- ja asendusülesannet. Sõna „Bash” otsitakse tekstist, Bash -skriptikeelest ja kui sõna on tekstis olemas, asendatakse see sõnaga „Perl”.
$viskas välja 'Bash -skriptikeel' | sed 's/Bash/Perl/'
Väljund:
Sõna 'Bash' on tekstis olemas. Seega on väljund 'Perli skriptikeel'.
'sed' käsku saab kasutada ka faili sisu mis tahes osa asendamiseks. Looge tekstifail nimega weekday.txt järgmise sisuga.
weekday.txt
EsmaspäevTeisipäev
Kolmapäev
Neljapäev
Reede
Laupäev
Pühapäev
Järgmine käsk otsib ja asendab teksti „pühapäev” tekstiga „pühapäev on püha”.
$kassweekday.txt$sed 's/pühapäev/pühapäev on puhkus/'weekday.txt
Väljund:
„Pühapäev” eksisteerib failis weekday.txt ja see sõna asendatakse tekstiga „Pühapäev on puhkus” pärast ülaltoodud käsu „sed” täitmist.
2. Asendage kõik teksti eksemplarid faili kindlal real, kasutades valikut „g”
'G' suvandit kasutatakse käsus 'sed', et asendada kõik sobiva mustri esinemised. Looge tekstifail nimega python.txt järgmise sisuga, et teada saada, kuidas kasutada valikut „g”. See fail sisaldab sõna. 'Python' mitu korda.
python.txt
Python on väga populaarne keel.
Pythonit on lihtne kasutada. Pythonit on lihtne õppida.
Python on platvormideülene keel
Järgmine käsk asendab kõik „ Python 'Faili teisel real, python.txt . Siin, 'Python' esineb teisel real kaks korda.
$ kassipüüton.txt$ sed'2 s / Python / perl / g'python.txt
Väljund:
Pärast skripti käivitamist kuvatakse järgmine väljund. Siin asendatakse kõik 'Pythoni' esinemised teisel real tähega 'Perl'.
3. Asendage igal real ainult vaste teine esinemine
Kui mõni sõna ilmub failis mitu korda, saab sõna konkreetse esinemise igal real asendada käsuga 'sed' koos esinemisnumbriga. Järgmine käsk 'sed' asendab otsimismustri teise esinemise faili igal real, python.txt .
$ sed's/Python/perl/g2'python.txtVäljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Siin on otsitav tekst ' Python ' kuvatakse ainult teisel real kaks korda ja see asendatakse tekstiga: ' Perl ‘.
4. Asendage igal real ainult vaste viimane esinemine
Looge tekstifail nimega lang.txt järgmise sisuga.
lang.txt
Bashi programmeerimiskeel. Python programmeerimiskeel. Perli programmeerimiskeel.
Hüperteksti märgistuskeel.
Laiendatav märgistuskeel.
5. Asenda faili esimene vaste uue tekstiga
Järgmine käsk asendab ainult otsingumustri esimese vaste, ' Python 'Teksti järgi, ‘Perl ‘. Siin, '1' kasutatakse mustri esimese esinemise sobitamiseks.
$ kassipüüton.txt$ sed'1 s / Python / perl /'python.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Siin. esimene 'Pythoni' esinemine esimesel real asendatakse sõnaga 'perl'.
6. Asendage faili viimane vaste uue tekstiga
Järgmine käsk asendab otsingumustri viimase esinemise, 'Python 'Teksti järgi, 'Bash'. Siin, '$' sümbolit kasutatakse mustri viimase esinemise sobitamiseks.
$ kassipüüton.txt$ aga -e'$ s / Python / Bash /'python.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
7. Kaldkriipsu vahetamine asenduskäsklustes, et hallata otsingut ja failiteede asendamist
Otsimiseks ja asendamiseks on vaja failitee tagasilöögiklapist välja pääseda. Järgmine käsk 'sed' lisab failiteele tagasilöögi ().
$viskas välja /Kodu/ubuntu/koodi/perl/add.pl| sed 's; /; \ /; g'Väljund:
Faili tee, „/Home/ubuntu/code/perl/add.pl” on sisendina käsus 'sed' ja pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
8. Asendage kõigi failide täielik tee ainult failinimega kataloogita
Failinime saab failiteelt väga lihtsalt alla laadida, kasutades klahvi ` basename ' käsk. 'sed' käsku saab kasutada ka failinime failiteelt allalaadimiseks. Järgmine käsk otsib failinime ainult käsust 'echo' antud failiteelt.
$viskas välja '/home/ubuntu/temp/myfile.txt' | sed 's /.*///'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Siin on failinimi ' myfile.txt ' trükitakse väljundina.
9. Asendustekst, kuid ainult siis, kui stringist leitakse mõni muu tekst
Looge fail nimega ' dept.txt ' järgmise sisuga, et asendada mis tahes muu teksti põhjal loodud tekst.
dept.txt
Üliõpilaste nimekiri:
CSE - krahvEEE - krahv
Tsiviil - krahv
Järgmises käsus 'sed' kasutatakse kahte asenduskäsklust. Siin on tekst ' Krahv 'Asendatakse 100 teksti sisaldaval real, „CSE 'Ja tekst' Krahv ” asendatakse 70 otsingumustrit sisaldaval real, ' EEE ” .
$kassdept.txt$sed -Ja '/CSE/s/Count/100/; /EEE/s/Count/70/; 'dept.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
10. Asendage tekst, kuid ainult siis, kui mõnda muud teksti stringist ei leita
Järgmine käsk 'sed' asendab väärtuse 'Count' reas, mis ei sisalda teksti 'CSE'. dept.txt fail sisaldab kahte rida, mis ei sisalda teksti, CSE. Seega ' Krahv „Tekst asendatakse kahe reaga 80 -ga.
$kassdept.txt$sed -mina -Ja '/CSE/! s/Count/80/; 'dept.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
11. Lisage string enne ja pärast sobivat mustrit, kasutades ' 1'
Käsu 'sed' sobivate mustrite järjestust tähistatakse tähistega ' 1', ' 2' ja nii edasi. Järgmine käsk 'sed' otsib mustrit 'Bash' ja kui muster sobib, pääseb sellele teksti asendamise osas juurde ' 1'. Siin otsitakse sisendtekstist teksti „Bash” ja üks tekst lisatakse enne ja teine tekst pärast „ 1”.
$viskas välja 'Bashi keel' | sed 's/ (Bash )/õppida programmeerimist 1'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Siin, ' Õpi ' tekst lisatakse enne 'Bash' ja ' programmeerimine Tekst lisatakse pärast Bash ”.
12. Kustutage sobivad read
'D' suvandit kasutatakse käsus 'sed', et kustutada failist rida. Looge fail nimega os.txt ja lisage selle funktsiooni testimiseks järgmine sisu 'D' valik.
kass os.txt
WindowsLinux
Android
SINA
Järgmine käsk sed kustutab need read os.txt fail, mis sisaldab teksti „OS”.
$kassos.txt$sed '/D'os.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
13. Kustutage vastav rida ja 2 rida pärast sobivat rida
Järgmine käsk kustutab failist kolm rida os.txt kui muster, ' Linux ' on leitud. os.txt sisaldab teksti, 'Linux 'Teises reas. Niisiis, see rida ja järgmised kaks rida kustutatakse.
$sed ' / Linux /, + 2d'os.txtVäljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
14. Kustutage kõik tekstirida lõpus olevad tühikud
Kasutades [: tühi:] klassi saab kasutada tühikute ja vahelehtede eemaldamiseks tekstist või mis tahes faili sisust. Järgmine käsk eemaldab tühikud faili iga rea lõpust, os.txt.
$kassos.txt$sed 's/[[: blank:]]*$ //'os.txt
Väljund:
os.txt sisaldab tühje ridu pärast igat rida, mis kustutatakse ülaltoodud käsuga sed.
15. Kustuta kõik read, millel on vaste kaks korda realt
Looge tekstifail nimega, input.txt järgmise sisuga ja kustutage kaks korda need otsingurida sisaldava faili read.
input.txt
PHP on serveripoolne skriptikeel.
PHP on avatud lähtekoodiga keel ja PHP on tõstutundlik.
PHP on platvormist sõltumatu.
„PHP” tekst sisaldab faili teisel real kaks korda, input.txt . Selles näites kasutatakse kahte käsku sed, et eemaldada need read, mis sisaldavad mustrit ' php ' kaks korda. Esimene käsk 'sed' asendab 'php' teise esinemise igal real sõnaga ' dl 'Ja saatke väljund sisendina teise käsku' sed '. Teine käsk 'sed' kustutab need read, mis sisaldavad teksti, ' dl ‘.
$kassinput.txt$sed 's/php/dl/i2; t'input.txt| sed '/dl/d'
Väljund:
input.txt failil on kaks rida, mis sisaldavad mustrit, 'Php' kaks korda. Niisiis, pärast ülaltoodud käskude käivitamist ilmub järgmine väljund.
16. Kustutage kõik read, millel on ainult tühik
Selle näite testimiseks valige fail, mille sisus on tühjad read. input.txt fail, mis on loodud eelmises näites, sisaldab kahte tühja rida, mida saab kustutada, kasutades järgmist käsku sed. Siin kasutatakse '^$' faili tühjade ridade väljaselgitamiseks, input.txt.
$kassinput.txt$sed '/^$/d'input.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
17. Kustutage kõik prinditavad märgid
Mitteprinditavaid märke saab kustutada mis tahes tekstist, asendades mitteprinditavad märgid mitte ühegiga. Selles näites kasutatakse klassi [: print:] mitteprinditavate märkide väljaselgitamiseks. ' T' on prinditav märk ja seda ei saa käsuga 'echo' otse sõeluda. Selleks on märk t määratud muutuja $ vahekaardil, mida kasutatakse käsus 'echo'. Käsu 'echo' väljund saadetakse käsuga 'sed', mis eemaldab väljundist märgi ' t'.
$vahekaart= $' t'$viskas välja 'Tere$ tabWorld'
$viskas välja 'Tere$ tabWorld' | sed 's/[^[: print:]] // g'
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Esimene käsk 'echo' prindib väljundi tabeldusruumiga ja käsk 'sed' prindib väljundi pärast vahelehe tühjendamist.
18. Kui reas on vaste, lisage rea lõppu midagi
Järgmine käsk lisab teksti lõpus oleva rea lõppu „10” os.txt faili.
$kassos.txt$sed ' / Windows / s / $ / 10 /'os.txt
Väljund:
Pärast käsu käivitamist ilmub järgmine väljund.
19. Kui reas on vaste, lisage teksti ette rida
Järgmine käsk 'sed' otsib tekstist ' PHP on platvormist sõltumatu ” aastal input.txt varem loodud fail. Kui fail sisaldab seda teksti mõnel real, siis ' PHP on tõlgendatav keel ” sisestatakse selle rea ette.
$kassinput.txt$sed '/PHP on platvormist sõltumatu/s/^/PHP on tõlgitud keel. N/'input.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
20. Kui reas on vaste, lisage selle rea järel rida
Järgmine käsk 'sed' otsib tekstist ' Linux ' failis os.txt ja kui tekst on mõnes reas olemas, siis uus tekst ' Ubuntu 'Lisatakse pärast seda rida.
$kassos.txt$sed 's/Linux/& nUbuntu/'os.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
21. Kui vastet pole, lisage rea lõppu midagi
Järgmine käsk 'sed' otsib neid ridu os.txt mis ei sisalda teksti, 'Linux' ja lisage tekst: ' Operatsioonisüsteem 'Iga rea lõpus. Siin, ' $ „Sümbolit kasutatakse rea tuvastamiseks, kuhu uus tekst lisatakse.
$kassos.txt$sed '/Linux/! S/$/Operatsioonisüsteem/'os.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Failis os.txt on kolm rida, mis ei sisalda teksti, „Linux” ja nende ridade lõppu lisatud uus tekst.
22. Kui vastet pole, kustuta rida
Looge fail nimega web.txt ja lisage järgmine sisu ning kustutage read, mis ei sisalda sobivat mustrit. web.txt HTML 5JavaScriptCSSPHPMySQLJQuery Järgmine käsk 'sed' otsib ja kustutab need read, mis ei sisalda teksti 'CSS'. $ cat web.txt $ sed ‘/CSS/! d’ web.txt Väljund: Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Teksti sisaldavas failis on üks rida „CSE”. Seega sisaldab väljund ainult ühte rida.
23. Kopeeri sobitatud tekst pärast tühiku lisamist teksti järele
Järgmine käsk 'sed' otsib failist sõna 'to', python.txt ja kui sõna on olemas, lisatakse sama sõna otsingusõna järele tühiku lisamisega. Siin, '&' sümbolit kasutatakse duplikaadi lisamiseks.
$kasspython.txt$sed -Ja 's / to / & to / g'python.txt
Väljund:
Pärast käskude käivitamist kuvatakse järgmine väljund. Siin otsitakse failist sõna „to”, python.txt ja see sõna on selle faili teisel real. Niisiis, ‘Juurde Vastava teksti järele lisatakse tühikuga tühik.
24. Asenda üks stringide loend uue stringiga
Selle näite testimiseks peate looma kaks loendifaili. Looge tekstifail nimega list1.txt ja lisage järgmine sisu.
kassiloend1.txt
1001=>Jafar Ali1023=>Nir Hossain
1067=>John michel
Looge tekstifail nimega list2.txt ja lisage järgmine sisu.
$ cat list2.txt
1001CSE GPA3.631002CSE GPA3.24
1023CSE GPA3.11
1067CSE GPA3.84
Järgmine käsk 'sed' sobib kahe ülaltoodud tekstifaili esimese veeruga ja asendab sobiva teksti faili kolmanda veeru väärtusega list1.txt.
$kasslist1.txt$kasslist2.txt
$sed ''kasslist1.txt| awk '{print' -e with / '$ 1' / '$ 3' / '}'''<<<'`kassiloend2.txt`'
Väljund:
1001, 1023 ja 1067 list1.txt fail vastab kolmele list2.txt faili ja need väärtused asendatakse domeeni kolmanda veeru vastavate nimedega list1.txt .
25. Asenda sobitatud string stringiga, mis sisaldab uusi ridu
Järgmine käsk võtab käsust 'echo' sisendi ja otsib sõna, 'Python' tekstis. Kui tekstis on sõna olemas, siis uus tekst, 'Lisatud tekst' sisestatakse uue reaga. $ echo Bash Perl Python Java PHP ASP | sed 's/Python/lisatud tekst n/' Väljund: Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
26. Eemaldage failist uued read ja sisestage iga rea lõppu koma
Järgmine käsk 'sed' asendab iga uue rea failis komaga os.txt . Siin, -Koos suvandit kasutatakse rea eraldamiseks NULL -märgi järgi.
$sed -Koos 's/ n/,/g'os.txtVäljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
27. Eemaldage koma ja lisage uus rida, et jagada tekst mitmeks reaks
Järgmine käsk 'sed' võtab komaga eraldatud rea käsust 'echo' sisendiks ja asendab koma uue reaga.
$viskas välja 'Kaniz Fatema, 30., partii' | sed 's/,/ n/g 'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Sisendtekst sisaldab kolme komaga eraldatud andmeid, mis asendatakse uue reaga ja trükitakse kolmele reale.
28. Leidke tõstutundetu vaste ja kustutage rida
„I” kasutatakse käsus „sed” väiketähtedeta vaste puhul, mis näitab väiketähtede ignoreerimist. Järgmine käsk 'sed' otsib rida, mis sisaldab sõna, 'Linux 'Ja kustutage rida os.txt faili.
$kassos.txt$sed '/linux/Id'os.txt
Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. os.txt sisaldab sõna „Linux”, mis sobis mustriga, „linux” suurtähtede tundmatuks otsimiseks ja kustutamiseks.
29. Leidke väiketundetundetu vaste ja asendage see uue tekstiga
Järgmine käsk 'sed' võtab käsu 'echo' sisendi ja asendab sõna 'bash' sõnaga 'PHP'.
$viskas välja 'Mulle meeldib bash -programmeerimine' | sed 's/Bash/PHP/i'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Siin sobis sõna „Bash” sõnaga, „bash” suurtähtede tundmatuks otsimiseks ja asendati sõnaga „PHP”.
30. Leidke väiketundetundetu vaste ja asendage sama teksti suurte tähtedega
„ U” kasutatakse tekstis 'sed', et teisendada mis tahes tekst suurtäheks. Sõna otsib järgmine käsk sed 'Linux 'Aastal os.txt faili ja kui sõna on olemas, asendab see sõna kõigi suurte tähtedega.
$kassos.txt$sed 's / (linux ) / U 1 / Ig'os.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Os.txt -faili sõna „Linux” asendatakse sõnaga „LINUX”.
31. Leidke väiketundetundetu vaste ja asendage sama teksti kõigi väiketähtedega
' THE' kasutatakse tekstis 'sed', et teisendada tekst kõigiks väiketähtedeks. Sõna otsib järgmine käsk sed 'Linux' aastal os.txt faili ja asendage sõna kõigi väiketähtedega.
$kassos.txt$sed 's / (linux ) / L 1 / Ig'os.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Sõna 'Linux' on siin asendatud sõnaga 'linux'.
32. Asendage teksti kõik suured tähed väiketähtedega
Järgmine käsk 'sed' otsib kõiki suurtähti os.txt fail ja asendage tähed väiketähtedega, kasutades ' L'.
$kassos.txt$sed 's/ (.*)/ L 1/'os.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
33. Otsige realt numbrit ja lisage enne valuutat mis tahes valuutasümbol number
Looge fail nimega items.txt järgmise sisuga.
items.txt
HDD 100Monitor 80
Hiir 10
Järgmine käsk 'sed' otsib numbrit iga rea kohta items.txt fail ja lisage iga numbri ette valuutasümbol „$”.
$kassitems.txt$sed 's / ([0-9] ) / $ 1 / g'items.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Siin lisatakse iga rea numbri ette sümbol „$”.
34. Lisage komad arvudele, mis sisaldavad rohkem kui 3 numbrit
Järgmine käsk 'sed' võtab käsu 'echo' sisendina numbri ja lisab koma pärast iga kolmekohalist rühma, mis loeb paremalt. Siin tähistab „: a” silti ja „ta” kasutatakse rühmitamisprotsessi kordamiseks.
$viskas välja „5098673” | sed -Ja: kuni-Ja 's / (. * [0-9] ) ([0-9] {3 } ) / 1, 2 /; ta'Väljund:
Number 5098673 on antud käsus 'echo' ja käsk 'sed' genereeris numbri 5 098 673, lisades iga kolmekohalise rühma järel koma.
35. Asendab vahekaardi tähemärgi 4 tühimärgiga
Järgmine käsk 'sed' asendab iga tabeldusmärgi ( t) nelja tühimärgiga. '$' Sümbolit kasutatakse käsus 'sed', et see vastaks vahelehe tähemärgile, ja 'g' asendab kõik vahelehtede märgid.
$viskas välja -Ja „1 t2 t3 ' | sed$'s/ t//g'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
36. Asendab 4 järjestikust tühikut tähemärkidega
Järgmine käsk asendab 4 järjestikust tähemärki tabulaatoriga ( t).
$viskas välja -Ja '1 2' | sed$'s// t/g'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
37. Lõika kõik read esimese 80 tähemärgini
Looge tekstifail nimega in.txt mis sisaldab selle näite testimiseks rohkem kui 80 tähemärgi pikkuseid ridu.
in.txt
PHP on serveripoolne skriptikeel.
PHP on avatud lähtekoodiga keel ja PHP on tõstutundlik. PHP on platvormist sõltumatu.
Järgmine käsk 'sed' kärbib iga rea in.txt faili 80 tähemärki.
$sed 's/ (^. {1,80 } ).*/ 1/'in.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. In.txt -faili teine rida sisaldab rohkem kui 80 tähemärki ja see rida on väljundis kärbitud.
38. Otsige stringist regulaaravaldist ja lisage sellele mõni standardtekst
Järgmine käsk 'sed' otsib tekstist ' Tere 'Sisendtekstis ja lisage tekst,' John 'Pärast seda teksti.
$viskas välja 'Tere kuidas sul läheb?' | sed 's/ (tere )/ 1 John/'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
39. Otsige stringide regulaaravaldisi ja lisage igale reale pärast teist vastet teksti
Järgmine käsk 'sed' otsib tekstist ' PHP 'Igas reas input.txt ja asendage iga rea teine vaste tekstiga, 'Uus tekst lisatud' .
$kassinput.txt$sed 's/ (PHP )/ 1 (uus tekst lisatud)/2'input.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Otsitav tekst ' PHP ”Kuvatakse kaks korda lehe teises ja kolmandas reas input.txt faili. Niisiis, tekst ' Uus tekst lisatud ”Lisatakse teisele ja kolmandale reale.
40. Mitmerealiste 'sed' skriptide käivitamine failist
Faili saab salvestada mitu 'sed' skripti ja kõiki skripte saab käivitada käsuga 'sed'. Looge fail nimega ‘Sedcmd 'Ja lisage järgmine sisu. Siin lisatakse faili kaks 'sed' skripti. Üks skript asendab teksti: PHP ' kõrval „ASP 'Teksti asendab teine skript,' sõltumatu 'Teksti järgi' sõltuvuses ‘.
sedcmd
s/PHP/ASP/s/sõltumatu/sõltuvuses/
Järgmine käsk 'sed' asendab kogu 'PHP' ja 'sõltumatu' tekstiga 'ASP' ja 'sõltuv'. Siin kasutatakse käsus 'sed' suvandit '-f' skripti 'sed' käivitamiseks failist.
$kasssedcmd$sed -fsedcmd input.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
41. Sobitage mitmerealine muster ja asendage uue mitmerealise tekstiga
Järgmine käsk 'sed' otsib mitmerealist teksti, „Linux nAndroid” ja kui muster sobib, asendatakse vastavad read mitmerealise tekstiga, „Ubuntu nAndroid Lollipop ‘. Siin kasutatakse mitmerealiseks töötlemiseks P ja D.
$kassos.txt$sed '$! N; s/Linux nAndoid/Ubuntu nAndoid Lollipop/; P; D'os.txt
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
42. Asenda tekstis kahe sõna järjekord, mis sobivad mustriga
Järgmine käsk 'sed' võtab käsust 'echo' kaks sõna ja asendab nende sõnade järjekorra.
$viskas välja 'perl python' | sed -Ja 's/ ([^]*)* ([^]*)/ 2 1/'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
43. Täitke käsurealt mitu käsku sed
'-E' suvandit kasutatakse käsus 'sed', et käivitada käsurealt mitu 'sed' skripti. Järgmine käsk 'sed' võtab teksti käsu 'echo' sisendiks ja asendab ' Ubuntu ' kõrval ' Kubuntu 'Ja' sadu ' kõrval ' Fedora ‘.
$viskas välja 'Ubuntu Centos Debian' | sed -Ja 's/Ubuntu/Kubuntu/; s/Centos/Fedora/'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Siin asendatakse „Ubuntu” ja „Centos” sõnadega „Kubuntu” ja „Fedora”.
44. Kombineeri 'sed' teiste käskudega
Järgmine käsk ühendab käsu sed sed käsuga cat. Esimene käsk 'sed' võtab sisendi os.txt faili ja saatke käsu väljund teisele käsule 'sed' pärast teksti 'Linux' asendamist 'Fedora' -ga. Teine käsk 'sed' asendab teksti, 'Windows' ja 'Windows 10'.
$kassos.txt| sed 's/Linux/Fedora/'| sed 's / windows / Windows 10 / i'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
45. Sisestage faili tühi rida
Looge fail nimega stdlist järgmise sisuga.
stdlist
#ID #Nimi[101] -Aga
[102] -Ei
Valikut „G” kasutatakse faili tühja rea lisamiseks. Järgmine käsk 'sed' lisab tühjad read iga rea järel stdlist faili.
$kassstdlist$sedG stdlist
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund. Faili iga rea järel sisestatakse tühi rida.
46. Asendage kõik tähted numbritega tühikutega faili igas reas.
Järgmine käsk asendab kõik tähtnumbrid tühikutega stdlist faili.
$kassstdlist$ aga 's / [A-Za-z0-9] // g'stdlist
Väljund:
Pärast ülaltoodud käskude käivitamist kuvatakse järgmine väljund.
47. Sobiva stringi printimiseks kasutage „&”
Järgmine käsk otsib sõna, mis algab tähega 'L' ja asendab teksti lisamisega „Sobiv string on - 'Sobitatud sõnaga, kasutades sümbolit' & '. Siin kasutatakse muudetud teksti printimiseks p.
$sed -n 's/^L/Sobiv string on - &/p'os.txtVäljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.
48. Vaheta failis sõnapaari
Looge tekstifail nimega muidugi.txt järgmise sisuga, mis sisaldab sõnapaari igas reas.
muidugi.txt
PHP ASPMySQL Oracle
CodeIgniter Laravel
Järgmine käsk vahetab sõnapaari faili igas reas, muidugi.txt .
$sed 's/ ([^]*)* ([^]*)/ 2 1/'muidugi.txtVäljund:
Pärast iga sõna sõnapaari vahetamist kuvatakse järgmine väljund.
49. Suurtähtede kasutamine iga sõna esimese tähega
Järgmine käsk 'sed' võtab käsust 'echo' sisendteksti ja teisendab iga sõna esimese märgi suureks täheks.
$viskas välja 'Mulle meeldib bash -programmeerimine' | sed 's / ([a-z] ) [[a-zA-Z0-9] * ) / u 1 2 / g'Väljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Sisendtekst, mulle meeldib bash -programmeerimine, trükitakse pärast esimese sõna suurtähtede kasutamist nii, nagu mulle meeldib Bash -programmeerimine.
50. Printige faili reanumbrid
'=' Sümbolit kasutatakse käsuga 'sed', et printida rea number enne faili iga rida. Järgmine käsk prindib sisu os.txt fail reanumbriga.
$sed '='os.txtVäljund:
Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund. Seal on neli rida os.txt faili. Seega trükitakse rea number enne faili iga rida.
Järeldus:
Selles juhendis selgitatakse käsu 'sed' erinevaid kasutusviise, kasutades väga lihtsaid näiteid. Kõigi siin nimetatud 'sed' skriptide väljund genereeritakse ajutiselt ja algse faili sisu jäi muutumatuks. Aga kui soovite, saate algfaili muuta, kasutades käsu `sed -i või -in-place. Kui olete uus Linuxi kasutaja ja soovite õppida käsu 'sed' põhilisi kasutusviise erinevat tüüpi stringide manipuleerimise ülesannete täitmiseks, siis aitab see õpetus teid. Pärast selle õpetuse lugemist loodan, et iga kasutaja saab selge käsu käsu 'sed' funktsioonide kohta.
Korduma kippuvad küsimused
Milleks kasutatakse käsku sed?
Sed käsul on mitmeid erinevaid kasutusvõimalusi. Nagu öeldud, kasutatakse peamiselt failis sõnade asendamist või leidmist ja asendamist.
Sedi suurepärane asi on see, et saate otsida failist sõna ja seda asendada, kuid te ei pea kunagi isegi faili avama - sed teeb seda kõike teie eest!
Lisaks sellele saab seda kasutada kustutamiseks. Peate lihtsalt sisestama sed, mida soovite leida, asendada või kustutada, ja see avab selle teie jaoks - saate seejärel selle sõna asendada või kustutada kõik sõna jäljed oma failist.
sed on fantastiline tööriist, mis võimaldab asendada selliseid asju nagu IP -aadressid ja kõik, mis on väga tundlik ja mida te muidu ei soovi faili sisestada. sed on iga tarkvarainseneri jaoks kohustuslik teadmine!
Mis on S ja G sed käsus?
Kõige lihtsamalt öeldes tähendab S -funktsioon, mida saab sed -is kasutada, lihtsalt asendajat. Pärast S -i sisestamist saate asendada või asendada kõik, mida soovite - lihtsalt S -i sisestamine asendab ainult sõna esimese esinemise real.
Seega, kui teil on lause või rida, mis mainib seda rohkem kui üks kord, ei ole funktsioon S ideaalne, kuna see asendab ainult esimest esinemist. Saate määrata mustri, et S asendaks sõnu ka iga kahe esinemise järel.
Kui määrata käsk sed lõpus G, määratakse globaalne asendus (seda tähistab G). Seda silmas pidades, kui määrate G, asendab see iga teie valitud sõna esinemise, mitte ainult esimest S -i esinemist.
Kuidas seda skripti käivitada?
Sed skripti saate käivitada mitmel viisil, kuid kõige tavalisem on käsurealt. Siin saate lihtsalt määrata sed ja faili, millel soovite käsku kasutada.
See võimaldab teil selles failis kasutada sed, võimaldades teil vajadusel leida, kustutada ja asendada.
Saate seda kasutada ka shelliskriptis ja sel viisil saate skriptile edastada kõik, mida soovite, ja see käivitab teie jaoks käsu leida ja asendada. See on kasulik, kui te ei soovi skripti sees määrata väga tundlikke andmeid, nii et saate selle muutujana edastada
Pidage meeles, et see on loomulikult saadaval ainult Linuxis ja seega peate oma sed -skripti käitamiseks tagama, et teil oleks Linuxi käsurida.