Toliau pateikta informacija rodo, kad sistemoje yra įdiegta 4.4 versijos „GNU Sed“.
Sintaksė:
sed [galimybės]...[scenarijus] [failą]
Jei komandai „sed“ nepateikiamas joks failo pavadinimas, scenarijus veiks su standartiniais įvesties duomenimis. „Sed“ scenarijų galima vykdyti be jokių parinkčių.
Turinys :
- Pagrindinis teksto pakeitimas naudojant „sed“
- Pakeiskite visus teksto atvejus tam tikroje failo eilutėje naudodami parinktį „g“
- Pakeiskite tik antrą kiekvienos eilutės atitikties įvykį
- Pakeiskite paskutinį tik kiekvienos eilutės atitikties įvykį
- Pakeiskite pirmąją failo atitiktį nauju tekstu
- Pakeiskite paskutinę failo atitiktį nauju tekstu
- Norėdami pakeisti paiešką ir pakeisti failų kelius, pakeičiamosiose komandose pabraukite pasvirąjį brūkšnį
- Pakeiskite visus failus visu keliu tik failo pavadinimu be katalogo
- Pakeiskite tekstą, bet tik tuo atveju, jei eilutėje randamas kitas tekstas
- Pakeiskite tekstą, bet tik tuo atveju, jei eilutėje nėra kito teksto
- Pridėkite eilutę prieš atitinkantį modelį naudodami „ 1 '
- Ištrinkite atitinkamas eilutes
- Ištrinkite atitinkančią eilutę ir 2 eilutes po atitinkančios eilutės
- Ištrinkite visas tarpas teksto eilutės pabaigoje
- Du kartus ištrinkite visas eilutes, kuriose yra atitikimas
- Ištrinkite visas eilutes, kuriose yra vienintelis tarpas
- Ištrinkite visus nespausdinamus simbolius
- Jei eilutėje yra atitiktis, pridėkite ką nors prie eilutės pabaigos
- Jei prieš rungtynę eilutės įterpimo eilutėje yra rungtynių
- Jei po rungtynių eilutės įterpimo eilutėje yra rungtynių
- Jei nėra atitikties, pridėkite ką nors prie eilutės pabaigos
- Jei nėra atitikties, ištrinkite eilutę
- Pasikartojantis atitinkamas tekstas, po teksto pridėjus tarpą
- Pakeiskite vieną iš eilučių sąrašo nauja eilute
- Pakeiskite suderintą eilutę eilute, kurioje yra naujos eilutės
- Pašalinkite naujas eilutes iš failo ir įterpkite kablelį kiekvienos eilutės pabaigoje
- Pašalinkite kablelius ir pridėkite naujų eilučių, kad tekstas būtų padalytas į kelias eilutes
- Raskite didžiųjų ir mažųjų raidžių nejautrą ir ištrinkite eilutę
- Raskite didžiųjų ir mažųjų raidžių nejautrą ir pakeiskite nauju tekstu
- Raskite didžiųjų ir mažųjų raidžių neatitikimą ir pakeiskite didžiosiomis to paties teksto raidėmis
- Raskite didžiųjų ir mažųjų raidžių neatitikimą ir pakeiskite visomis to paties teksto mažosiomis raidėmis
- Pakeiskite tekste didžiąsias raides mažosiomis
- Ieškokite numerio eilutėje ir pridėkite valiutos simbolį po skaičiaus
- Prie skaičių, kurie turi daugiau nei 3 skaitmenis, pridėkite kablelius
- Skirtuko simbolius pakeiskite 4 tarpo simboliais
- Pakeiskite 4 iš eilės tarpo simbolius skirtuko simboliu
- Sutrumpinkite visas eilutes iki pirmųjų 80 simbolių
- Ieškokite eilutės reguliaraus teksto ir po jo pridėkite standartinį tekstą
- Ieškokite eilutės reguliaraus teksto ir antrosios rastos eilutės kopijos po jos
- Vykdyti kelių eilučių „sed“ scenarijus iš failo
- Suderinkite kelių eilučių modelį ir pakeiskite nauju kelių eilučių tekstu
- Pakeiskite dviejų žodžių, atitinkančių modelį, eiliškumą
- Naudokite kelias sed komandas iš komandinės eilutės
- Sujunkite sed su kitomis komandomis
- Į failą įterpkite tuščią eilutę
- Ištrinkite visus raidinius ir skaitmeninius simbolius iš kiekvienos failo eilutės.
- Norėdami suderinti eilutę, naudokite „&“
- Pakeiskite žodžių porą
- Kiekvieno žodžio pirmąjį simbolį rašykite didžiosiomis raidėmis
- Spausdinkite failo eilučių numerius
1. Pagrindinis teksto pakeitimas naudojant „sed“
Bet kurios konkrečios teksto dalies galima ieškoti ir pakeisti naudojant paieškos ir pakeitimo modelį naudojant komandą „sed“. Šiame pavyzdyje „s“ reiškia paieškos ir pakeitimo užduotį. Žodžio „Bash“ bus ieškoma tekste, „Bash Scripting Language“, o jei žodis yra tekste, jis bus pakeistas žodžiu „Perl“.
$išmetė „Bash Scripting Language“ | sed 's/Bash/Perl/'
Išėjimas:
Žodis „Bash“ yra tekste. Taigi išvestis yra „Perl Scripting Language“.
Komanda „sed“ taip pat gali pakeisti bet kurią failo turinio dalį. Sukurkite teksto failą pavadinimu weekday.txt su tokiu turiniu.
weekday.txt
PirmadienisAntradienį
Trečiadienis
Ketvirtadienis
Penktadienis
Šeštadienis
Sekmadienis
Ši komanda ieškos ir pakeis tekstą „sekmadienis“, tekstą „sekmadienis yra atostogos“.
$katėweekday.txt$sed 's/sekmadienis/sekmadienis yra atostogos/'weekday.txt
Išėjimas:
„Sekmadienis“ yra faile „weekday.txt“ ir šis žodis pakeičiamas tekstu „Sekmadienis yra atostogos“, įvykdžius aukščiau pateiktą komandą „sed“.
2. Pakeiskite visus teksto atvejus tam tikroje failo eilutėje naudodami parinktį „g“
„G“ parinktis naudojama komandoje „sed“, kad būtų pakeisti visi atitikimo modelio atvejai. Sukurkite teksto failą pavadinimu python.txt turinį, kad žinotumėte „g“ parinkties naudojimą. Šiame faile yra žodis. „Python“ daug kartų.
python.txt
Python yra labai populiari kalba.
„Python“ paprasta naudoti. „Python“ lengva išmokti.
„Python“ yra kelių platformų kalba
Ši komanda pakeis visus „ Python “Antroje failo eilutėje, python.txt . Čia, „Python“ antroje eilutėje pasitaiko du kartus.
$ kačių pitonas.txt$ sed„2 s / Python / perl / g“pitonas.txt
Išėjimas:
Paleidus scenarijų pasirodys ši išvestis. Čia visi „Python“ atsiradimai antroje eilutėje pakeičiami „Perl“.
3. Pakeiskite antrąjį tik kiekvienos eilutės atitikties įvykį
Jei kuris nors žodis faile pasirodo kelis kartus, tada konkretų žodžio pasireiškimą kiekvienoje eilutėje galima pakeisti naudojant komandą „sed“ su įvykio numeriu. Ši komanda „sed“ pakeis antrą paieškos modelio atsiradimą kiekvienoje failo eilutėje, python.txt .
$ sed„s/Python/perl/g2“pitonas.txtIšėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Čia ieškomas tekstas „ „Python“ du kartus rodomas tik antroje eilutėje ir pakeičiamas tekstu „ Perl ‘.
4. Pakeiskite paskutinį tik kiekvienos eilutės rungtynių įvykį
Sukurkite teksto failą pavadinimu lang.txt su tokiu turiniu.
lang.txt
Bash programavimo kalba. „Python“ programavimo kalba. Perl programavimo kalba.
Hiperteksto žymėjimo kalba.
Išplečiama žymėjimo kalba.
5. Pakeiskite pirmąją failo atitiktį nauju tekstu
Ši komanda pakeis tik pirmąją paieškos modelio atitiktį, ' Python „Pagal tekstą, ‘Perl ‘. Čia, „1“ naudojamas, kad atitiktų pirmąjį šablono įvykį.
$ kačių pitonas.txt$ sed„1 s / Python / perl /“pitonas.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Čia. pirmasis „Python“ atsiradimas pirmoje eilutėje pakeičiamas „perl“.
6. Pakeiskite paskutinę failo atitiktį nauju tekstu
Ši komanda pakeis paskutinį paieškos modelio įvykį, 'Pitonas „Pagal tekstą, „Bash“. Čia, „$“ simbolis naudojamas, kad atitiktų paskutinį šablono įvykį.
$ kačių pitonas.txt$ bet -e„$ s / Python / Bash /“pitonas.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
7. Pasikeičiantis pasviruoju brūkšniu pakeičiant komandas, kad būtų galima valdyti paiešką ir pakeisti failų kelius
Norint ieškoti ir pakeisti failo kelią, būtina išvengti pasvirojo brūkšnio. Ši komanda „sed“ pridės pasvirąjį brūkšnį () failo kelyje.
$išmetė /namai/ubuntu/kodą/perl/add.pl| sed 's; /; \ /; g'Išėjimas:
Failo kelias, „/Home/ubuntu/code/perl/add.pl“ yra pateikiamas kaip įvestis komandoje „sed“ ir paleidus aukščiau nurodytą komandą pasirodys tokia išvestis.
8. Pakeiskite visų failų visą kelią tik failo pavadinimu be katalogo
Failo pavadinimą galima labai lengvai gauti iš failo kelio naudojant „ bazinis pavadinimas “ komandą. Komanda `sed` taip pat gali būti naudojama norint gauti failo pavadinimą iš failo kelio. Ši komanda nuskaitys failo pavadinimą tik iš failo kelio, nurodyto komandoje „echo“.
$išmetė '/home/ubuntu/temp/myfile.txt' | sed 's /.*///'Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Čia failo pavadinimas „ myfile.txt “ spausdinama kaip išvestis.
9. Pakeiskite tekstą, bet tik tuo atveju, jei eilutėje randamas koks nors kitas tekstas
Sukurkite failą pavadinimu „ Dept.txt “ su tokiu turiniu, kad pakeistumėte bet kokį tekstą, pagrįstą kitu tekstu.
Dept.txt
Iš viso studentų sąrašas:
TPP - SkaičiuotiEEE - grafas
Civilis - grafas
Šioje komandoje „sed“ naudojamos dvi pakeitimo komandos. Čia tekstas: Grafas 'Bus pakeistas 100 eilutėje, kurioje yra tekstas, „TPV 'Ir tekstas' Skaičiuoti “ bus pakeistas 70 eilutėje, kurioje yra paieškos modelis, „ EEE “ .
$katėDept.txt$sed -Ir “/TPV/s/Skaičius/100/; /EEE/s/Count/70/; “Dept.txt
Išėjimas:
Po to, kai bus paleistos aukščiau pateiktos komandos, pasirodys ši išvestis.
10. Pakeiskite tekstą, bet tik tuo atveju, jei eilutėje nerandamas kitas tekstas
Ši komanda „sed“ pakeis „Count“ reikšmę eilutėje, kurioje nėra teksto „TPP“. Dept.txt faile yra dvi eilutės, kuriose nėra teksto „TPV“. Taigi ' Grafas „Tekstas dviejose eilutėse bus pakeistas 80.
$katėDept.txt$sed -i -Ir '/TPV/! s/Count/80/; 'Dept.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
11. Pridėkite eilutę prieš ir po atitinkamo modelio naudodami „ 1“
Komandos „sed“ atitikimo modelių seka žymima „ 1“, „ 2“ ir pan. Ši komanda „sed“ ieškos šablono „Bash“ ir, jei modelis atitinka, teksto pakeitimo dalyje jį pasieks „ 1“. Čia įvestame tekste ieškoma teksto „Bash“ ir vienas tekstas pridedamas prieš, o kitas tekstas pridedamas po „ 1“.
$išmetė „Bash“ kalba | sed 's/ (Bash )/Learn 1 programavimas/'Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Čia, ' Mokytis' tekstas pridedamas anksčiau „Bash“ ir ' programavimas Tekstas pridedamas po „ Bash “.
12. Ištrinkite atitinkamas eilutes
„D“ Ši parinktis naudojama komandoje „sed“, kad ištrintų bet kurią failo eilutę. Sukurkite failą pavadinimu os.txt ir pridėkite šį turinį, kad patikrintumėte jo funkciją „D“ variantas.
katė os.txt
„Windows“Linux
„Android“
TU
Ši komanda „sed“ ištrins šias eilutes os.txt failą, kuriame yra tekstas „OS“.
$katėos.txt$sed '/D'os.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
13. Ištrinkite atitinkančią eilutę ir 2 eilutes po atitinkančios eilutės
Ši komanda ištrins tris failo eilutes os.txt jei modelis, ' „Linux“ yra rastas. os.txt yra tekstas, „Linux“ “Antroje eilutėje. Taigi ši eilutė ir kitos dvi eilutės bus ištrintos.
$sed ' / Linux /, + 2d'os.txtIšėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
14. Ištrinkite visas tarpus teksto eilutės pabaigoje
Naudojant [:tuščias:] klasė gali būti naudojama tarpams ir skirtukams pašalinti iš bet kurio failo teksto ar turinio. Ši komanda pašalins tarpus kiekvienos failo eilutės pabaigoje, os.txt.
$katėos.txt$sed 's/[[: blank:]]*$ //'os.txt
Išėjimas:
os.txt po kiekvienos eilutės yra tuščių eilučių, kurios ištrinamos naudojant aukščiau pateiktą komandą „sed“.
15. Du kartus ištrinkite visas eilutes, kuriose yra atitikmuo
Sukurkite teksto failą pavadinimu, input.txt turinį ir du kartus ištrinkite tas failo eilutes, kuriose yra paieškos modelis.
input.txt
PHP yra serverio scenarijų kalba.
PHP yra atvirojo kodo kalba, o PHP skiria didžiąsias ir mažąsias raides.
PHP nepriklauso nuo platformos.
„PHP“ tekste yra du kartus antroje failo eilutėje, input.txt . Šiame pavyzdyje naudojamos dvi komandos „sed“, kad būtų pašalintos tos eilutės, kuriose yra šablonas „ php ' du kartus. Pirmoji komanda „sed“ pakeis antrąjį „php“ įvykį kiekvienoje eilutėje žodžiu „ dl 'Ir nusiųskite išvestį į antrąją komandą' sed 'kaip įvestį. Antroji komanda „sed“ ištrins eilutes, kuriose yra tekstas, dl ‘.
$katėinput.txt$sed 's/php/dl/i2; t'input.txt| sed '/dl/d'
Išėjimas:
input.txt faile yra dvi eilutės, kuriose yra šablonas, 'Php' du kartus. Taigi, paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
16. Ištrinkite visas eilutes, kuriose yra tik tarpas
Norėdami išbandyti šį pavyzdį, pasirinkite bet kurį failą, kurio turinyje yra tuščių eilučių. input.txt faile, sukurtame ankstesniame pavyzdyje, yra dvi tuščios eilutės, kurias galima ištrinti naudojant šią komandą „sed“. Čia „^$“ naudojamas tuščioms failo eilutėms sužinoti, input.txt.
$katėinput.txt$sed '/^$/d'input.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
17. Ištrinkite visus nespausdinamus simbolius
Nespausdinamus simbolius galima ištrinti iš bet kurio teksto, nespausdinamus simbolius pakeičiant jokiais. [: print:] klasė naudojama šiame pavyzdyje, norint sužinoti nespausdinamus simbolius. „ T“ yra nespausdinamas simbolis ir jo negalima išanalizuoti tiesiogiai naudojant komandą „echo“. Tam „ t“ simbolis priskiriamas kintamajame, skirtuke $, kuris naudojamas komandoje „echo“. Komandos „echo“ išvestis siunčiama komandoje „sed“, kuri pašalins simbolį „ t“ iš išvesties.
$skirtuką= $' t'$išmetė 'Sveiki$ tabWorld'
$išmetė 'Sveiki$ tabWorld' | sed 's/[^[: print:]] // g'
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Pirmoji komanda „echo“ išspausdins išvestį su skirtuko klavišu, o komanda „sed“ išspausdins išvestį pašalinus skirtuko vietą.
18. Jei eilutėje yra rungtynių, pridėkite ką nors prie eilutės pabaigos
Ši komanda pridės „10“ eilutės, kurioje yra tekstas, „Windows“ pabaigoje os.txt failą.
$katėos.txt$sed ' / Windows / s / $ / 10 /'os.txt
Išėjimas:
Paleidus komandą pasirodys ši išvestis.
19. Jei eilutėje yra atitiktis, prieš tekstą įterpkite eilutę
Ši komanda „sed“ ieškos teksto „ PHP nepriklauso nuo platformos “ viduje konors input.txt failas, sukurtas anksčiau. Jei faile yra šis tekstas bet kurioje eilutėje, tada „ PHP yra aiškinama kalba “ bus įterpta prieš šią eilutę.
$katėinput.txt$sed '/PHP nepriklauso nuo platformos/s/^/PHP yra aiškinama kalba. N/'input.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
20. Jei eilutėje yra atitikmuo, po šios eilutės įterpkite eilutę
Ši komanda „sed“ ieškos teksto „ „Linux“ byloje os.txt ir jei tekstas yra bet kurioje eilutėje, tada naujas tekstas ' Ubuntu “Bus įterpta po šios eilutės.
$katėos.txt$sed 's/Linux/& nUbuntu/'os.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
21. Jei nėra rungtynių, pridėkite ką nors prie eilutės pabaigos
Ši komanda „sed“ ieškos tų eilučių os.txt kuriame nėra teksto, „Linux“ ir pridėkite tekstą: Operacinė sistema “Kiekvienos eilutės pabaigoje. Čia, ' $ „Simbolis naudojamas eilutei, kur bus pridėtas naujas tekstas, identifikuoti.
$katėos.txt$sed '/Linux/! S/$/Operacinė sistema/'os.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Faile „os.txt“ yra trys eilutės, kuriose nėra teksto, „Linux“ ir naujas tekstas, pridėtas šių eilučių pabaigoje.
22. Jei nėra atitikimo, ištrinkite eilutę
Sukurkite failą pavadinimu web.txt ir pridėkite šį turinį ir ištrinkite eilutes, kuriose nėra atitinkamo modelio. web.txt HTML 5JavaScriptCSSPHPMySQLJQuery Ši komanda „sed“ ieškos ir ištrins eilutes, kuriose nėra teksto „CSS“. $ cat web.txt $ sed ‘/CSS/! d’ web.txt Išėjimas: Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Faile yra viena eilutė, kurioje yra tekstas „TPV“. Taigi, išvestyje yra tik viena eilutė.
23. Pasikartojantis suderintas tekstas pridėjus tarpą po teksto
Ši komanda „sed“ ieškos failo žodžio „į“, python.txt o jei žodis egzistuoja, tas pats žodis bus įterptas po paieškos žodžio, pridedant tarpą. Čia, „&“ simbolis naudojamas pasikartojančiam tekstui pridėti.
$katėpython.txt$sed -Ir „s / to / & to to / g“python.txt
Išėjimas:
Paleidus komandas pasirodys ši išvestis. Čia faile ieškoma žodžio „į“, python.txt ir šis žodis yra antroje šio failo eilutėje. Taigi, 'Į “Po atitinkamu tekstu pridedamas tarpas.
24. Vieną eilučių sąrašą pakeiskite nauja eilute
Norėdami išbandyti šį pavyzdį, turite sukurti du sąrašo failus. Sukurkite teksto failą pavadinimu list1.txt ir pridėkite šį turinį.
kačių sąrašas1.txt
1001=>Jafar Ali1023 m=>Nir Hossain
1067=>Jonas Michelis
Sukurkite teksto failą pavadinimu list2.txt ir pridėkite šį turinį.
$ cat list2.txt
1001TPP GPA3.631002TPP GPA3.24
1023 mTPP GPA3.11
1067TPP GPA3.84
Ši komanda „sed“ atitiks pirmąjį dviejų aukščiau pateiktų teksto failų stulpelį ir pakeis atitinkantį tekstą trečiojo failo stulpelio verte list1.txt.
$katėlist1.txt$katėlist2.txt
$sed ``katėlist1.txt| awk '{print' -e with / '$ 1' / '$ 3' / '}'``<<<'„kačių sąrašas2.txt“'
Išėjimas:
1001, 1023 ir 1067 iš list1.txt failas atitinka tris duomenis list2.txt failą ir šios reikšmės pakeičiamos atitinkamais trečiojo stulpelio pavadinimais list1.txt .
25. Pakeiskite suderintą eilutę eilute, kurioje yra naujos eilutės
Ši komanda įves informaciją iš komandos „echo“ ir ieškos žodžio, „Python“ tekste. Jei žodis yra tekste, tada naujas tekstas, „Pridėtas tekstas“ bus įterpta su nauja eilute. $ echo Bash Perl Python Java PHP ASP | sed 's/Python/pridėtas tekstas n/' Išėjimas: Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
26. Pašalinkite naujas eilutes iš failo ir įterpkite kablelį kiekvienos eilutės pabaigoje
Ši komanda „sed“ pakeis kiekvieną naują eilutę failo kableliu os.txt . Čia, -Su parinktis naudojama atskirti eilutę NULL simboliu.
$sed -Su „s/ n/,/g“os.txtIšėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
27. Pašalinkite kablelius ir pridėkite naują eilutę, kad tekstas būtų padalytas į kelias eilutes
Ši komanda „sed“ paims kableliais atskirtą eilutę nuo komandos „echo“ kaip įvestį ir pakeis kablelį nauja eilute.
$išmetė „Kaniz Fatema, 30 -oji, partija“ | sed /,/ n/g 'Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Įvesties tekste yra trys kableliais atskirti duomenys, kurie pakeičiami nauja eilute ir spausdinami trimis eilutėmis.
28. Raskite didžiųjų ir mažųjų raidžių nejautrą ir ištrinkite eilutę
„I“ yra naudojamas komandoje „sed“ didžiosioms ir mažosioms raidėms neatitinkančiai atitikčiai, kuri nurodo ignoruoti didžiąsias ir mažąsias raides. Ši komanda „sed“ ieškos eilutės, kurioje yra žodis, 'Linux “Ir ištrinkite eilutę iš os.txt failą.
$katėos.txt$sed '/linux/Id'os.txt
Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. „os.txt“ yra žodis „Linux“, atitinkantis šabloną, „linux“, skirtas didžiųjų ir mažųjų raidžių paieškai ir ištrintas.
29. Raskite didžiųjų ir mažųjų raidžių nejautrą ir pakeiskite nauju tekstu
Ši komanda „sed“ paims įvestį iš komandos „echo“ ir pakeis žodį „bash“ žodžiu „PHP“.
$išmetė „Man patinka„ bash “programavimas“ | sed „s/Bash/PHP/i“Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Čia žodis „Bash“ sutapo su žodžiu „bash“, skirtu didžiosioms ir mažosioms raidėms ieškoti ir pakeistas žodžiu „PHP“.
30. Raskite didžiųjų ir mažųjų raidžių neatitikimą ir pakeiskite didžiosiomis to paties teksto raidėmis
„ U“ naudojamas „sed“, kad bet koks tekstas būtų konvertuotas į didžiąsias raides. Ši komanda „sed“ ieškos žodžio, 'Linux ' viduje konors os.txt failą ir, jei žodis egzistuoja, jis pakeis žodį visomis didžiosiomis raidėmis.
$katėos.txt$sed 's / (linux ) / U 1 / Ig'os.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Os.txt failo žodis „Linux“ pakeičiamas žodžiu „LINUX“.
31. Raskite didžiųjų ir mažųjų raidžių neatitikimą ir pakeiskite to paties teksto mažosiomis raidėmis
' THE' yra naudojamas „sed“, kad bet koks tekstas būtų konvertuotas į visas mažąsias raides. Ši komanda „sed“ ieškos žodžio, „Linux“ viduje konors os.txt failą ir pakeiskite žodį visomis mažosiomis raidėmis.
$katėos.txt$sed 's / (linux ) / L 1 / Ig'os.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Žodis „Linux“ čia pakeičiamas žodžiu „linux“.
32. Pakeiskite visas didžiąsias teksto raides mažosiomis
Ši komanda „sed“ ieškos visų didžiųjų simbolių os.txt failą ir pakeiskite simbolius mažosiomis raidėmis naudodami „ L“.
$katėos.txt$sed 's/ (.*)/ L 1/'os.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
33. Ieškokite skaičiaus eilutėje ir pridėkite bet kurį valiutos simbolį prieš skaičius
Sukurkite failą pavadinimu items.txt su tokiu turiniu.
items.txt
HDD 10080 monitorius
Pelė 10
Ši komanda „sed“ ieškos numerio kiekvienoje eilutėje items.txt failą ir prieš kiekvieną skaičių pridėkite valiutos simbolį „$“.
$katėitems.txt$sed 's / ([0-9] ) / $ 1 / g'items.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Čia prieš kiekvienos eilutės numerį pridedamas simbolis „$“.
34. Prie skaičių, turinčių daugiau nei 3 skaitmenis, pridėkite kablelius
Ši komanda „sed“ paims skaičių kaip įvestį iš komandos „echo“ ir pridės kablelį po kiekvienos trijų skaitmenų grupės, skaičiuojančios iš dešinės. Čia „: a“ reiškia etiketę, o „ta“ naudojamas grupavimo procesui kartoti.
$išmetė „5098673“ | sed -Ir: į-Ir 's / (. * [0-9] ) ([0-9] {3 } ) / 1, 2 /; ta'Išėjimas:
Skaičius 5098673 nurodomas komandoje „echo“, o komanda „sed“ sukūrė skaičių 5 098 673, po kiekvienos trijų skaitmenų grupės pridėdama kablelį.
35. Pakeičia skirtuko simbolį 4 tarpo simboliais
Ši komanda „sed“ pakeis kiekvieną skirtuko ( t) simbolį keturiais tarpo simboliais. „$“ Simbolis naudojamas komandoje „sed“, kad atitiktų skirtuko simbolį, o „g“ - pakeisti visus skirtuko simbolius.
$išmetė -Ir „1 t2 t3 ' | sed$„s/ t//g“Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
36. Pakeičia 4 iš eilės tarpo simbolius skirtuko simboliu
Ši komanda pakeis 4 iš eilės einančius simbolius skirtuko ( t) simboliu.
$išmetė -Ir „1 2“ | sed$„s// t/g“Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
37. Sutrumpinkite visas eilutes iki pirmųjų 80 simbolių
Sukurkite teksto failą pavadinimu in.txt kuriame yra daugiau nei 80 simbolių eilučių, kad būtų galima išbandyti šį pavyzdį.
in.txt
PHP yra serverio scenarijų kalba.
PHP yra atvirojo kodo kalba, o PHP skiria didžiąsias ir mažąsias raides. PHP nepriklauso nuo platformos.
Ši komanda „sed“ sutrumpins kiekvieną eilutę in.txt failą sudaro 80 simbolių.
$sed 's/ (^. {1,80 } ).*/ 1/'in.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Antroje failo „in.txt“ eilutėje yra daugiau nei 80 simbolių ir ši eilutė yra sutrumpinta išvestyje.
38. Ieškokite eilutės reguliaraus teksto ir po jo pridėkite standartinį tekstą
Ši komanda „sed“ ieškos teksto „ Sveiki „Įvesties tekste ir pridėti tekstą“, Jonas 'Po to teksto.
$išmetė 'Labas, kaip tau sekasi?' | sed 's/ (labas )/ 1 Jonas/'Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
39. Ieškokite eilutės reguliaraus teksto ir pridėkite šiek tiek teksto po antrosios rungtynių kiekvienoje eilutėje
Ši komanda „sed“ ieškos teksto „ PHP 'Kiekvienoje eilutėje input.txt ir pakeiskite antrą atitikmenį kiekvienoje eilutėje tekstu, „Pridėtas naujas tekstas“ .
$katėinput.txt$sed 's/ (PHP )/ 1 (pridėtas naujas tekstas)/2'input.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Ieškomas tekstas „ PHP “Du kartus rodomas antroje ir trečioje eilutėse input.txt failą. Taigi, tekstas: Pridėtas naujas tekstas “Įterpiamas į antrą ir trečią eilutes.
40. Kelių eilučių „sed“ scenarijų vykdymas iš failo
Faile gali būti saugomi keli „sed“ scenarijai, o visi scenarijai gali būti vykdomi kartu vykdant komandą „sed“. Sukurkite failą pavadinimu 'Sedcmd “Ir pridėkite šį turinį. Čia faile pridedami du „sed“ scenarijai. Vienas scenarijus pakeis tekstą „ PHP 'Iki „ASP „Tekstą pakeis kitas scenarijus“, nepriklausomas „Pagal tekstą“ priklausomas ‘.
sedcmd
s/PHP/ASP/s/nepriklausomas/priklausomas/
Ši komanda „sed“ pakeis visą „PHP“ ir „nepriklausomą“ tekstą į „ASP“ ir „priklausomas“. Čia „-f“ parinktis naudojama komandoje „sed“, kad įvykdytų „sed“ scenarijų iš failo.
$katėsedcmd$sed -fsedcmd input.txt
Išėjimas:
Vykdžius aukščiau pateiktas komandas, pasirodys ši išvestis.
41. Suderinkite kelių eilučių modelį ir pakeiskite nauju kelių eilučių tekstu
Ši komanda „sed“ ieškos kelių eilučių teksto, „Linux“ n „Android“ ir jei modelis atitinka, atitinkančios eilutės bus pakeistos kelių eilučių tekstu, „Ubuntu“ n „Android Lollipop“ ‘. Čia P ir D naudojami kelių eilučių apdorojimui.
$katėos.txt$sed '$! N; s/Linux nAndoid/Ubuntu nAndoid Lollipop/; P; D'os.txt
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
42. Pakeiskite tekste dviejų žodžių tvarką, atitinkančią šabloną
Ši komanda „sed“ paims du žodžius iš komandos „echo“ ir pakeis šių žodžių tvarką.
$išmetė „perl python“ | sed -Ir 's/ ([^]*)* ([^]*)/ 2 1/'Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
43. Vykdykite kelias „sed“ komandas iš komandinės eilutės
„-E“ parinktis naudojama komandoje „sed“, kad iš komandinės eilutės būtų paleisti keli „sed“ scenarijai. Ši komanda „sed“ paims tekstą kaip įvestį iš komandos „echo“ ir pakeis „ Ubuntu 'Pagal' Kubuntu 'Ir' šimtai 'Pagal' Fedora ‘.
$išmetė „Ubuntu Centos Debian“ | sed -Ir 's/Ubuntu/Kubuntu/; s/Centos/Fedora/'Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Čia „Ubuntu“ ir „Centos“ keičiami „Kubuntu“ ir „Fedora“.
44. Sujunkite „sed“ su kitomis komandomis
Ši komanda sujungs komandą „sed“ su komanda „cat“. Pirmoji komanda „sed“ bus įvesta iš os.txt failą ir nusiųskite komandos išvestį į antrąją komandą „sed“, pakeitus tekstą „Linux“ į „Fedora“. Antroji komanda „sed“ pakeis tekstą „Windows“ į „Windows 10“.
$katėos.txt| sed 's/Linux/Fedora/'| sed „s / windows / Windows 10 / i“Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
45. Į failą įterpkite tuščią eilutę
Sukurkite failą pavadinimu stdlist su tokiu turiniu.
stdlist
#ID #vardas[101] -Bet
[102] -Neha
„G“ parinktis naudojama įterpti tuščią eilutę į failą. Ši komanda „sed“ įterps tuščias eilutes po kiekvienos eilutės stdlist failą.
$katėstdlist$sedG stdlist
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis. Po kiekvienos failo eilutės įterpiama tuščia eilutė.
46. Visus raidinius ir skaitmeninius simbolius pakeiskite tarpais kiekvienoje failo eilutėje.
Ši komanda pakeis visus raidinius ir skaitmeninius simbolius tarpais stdlist failą.
$katėstdlist$ bet 's / [A-Za-z0-9] // g'stdlist
Išėjimas:
Paleidus aukščiau pateiktas komandas, pasirodys ši išvestis.
47. Naudokite „&“, kad išspausdintumėte suderintą eilutę
Ši komanda ieškos žodžio, prasidedančio „L“, ir pakeis tekstą pridėdamas „Suderinta eilutė yra - „Su atitinkamu žodžiu, naudojant simbolį„ & “. Čia „p“ naudojamas modifikuotam tekstui spausdinti.
$sed -n „s/^L/Atitinkama eilutė yra - &/p“os.txtIšėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis.
48. Pakeiskite žodžių porą faile
Sukurkite teksto failą pavadinimu žinoma.txt turinį, kuriame yra žodžių pora kiekvienoje eilutėje.
žinoma.txt
PHP ASP„MySQL Oracle“
CodeIgniter Laravel
Ši komanda pakeis žodžių poras kiekvienoje failo eilutėje, žinoma.txt .
$sed 's/ ([^]*)* ([^]*)/ 2 1/'žinoma.txtIšėjimas:
Ši išvestis pasirodys pakeitus žodžių porą kiekvienoje eilutėje.
49. Pirmasis kiekvieno žodžio simbolis rašomas didžiosiomis raidėmis
Ši komanda „sed“ paims įvesties tekstą iš komandos „echo“ ir konvertuos pirmąjį kiekvieno žodžio simbolį į didžiąją raidę.
$išmetė „Man patinka„ bash “programavimas“ | sed 's / ([a-z] ) [[a-zA-Z0-9] * ) / u 1 2 / g'Išėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Įvesties tekstas, man patinka „bash“ programavimas, spausdinamas taip, kaip man patinka „Bash“ programavimas po pirmojo žodžio rašymo didžiosiomis raidėmis.
50. Spausdinkite failo eilučių numerius
Simbolis „=“ naudojamas komandai „sed“, norint atspausdinti eilutės numerį prieš kiekvieną failo eilutę. Ši komanda išspausdins turinį os.txt failas su eilutės numeriu.
$sed '='os.txtIšėjimas:
Paleidus aukščiau pateiktą komandą, pasirodys ši išvestis. Yra keturios eilutės os.txt failą. Taigi eilutės numeris atspausdinamas prieš kiekvieną failo eilutę.
Išvada:
Šiame vadove aprašomi įvairūs komandos „sed“ naudojimo būdai, naudojant labai paprastus pavyzdžius. Visų čia paminėtų „sed“ scenarijų išvestis sugeneruojama laikinai, o pirminio failo turinys liko nepakitęs. Bet jei norite, galite pakeisti pradinį failą naudodami komandą „sed“ –i arba –in-place. Jei esate naujas „Linux“ vartotojas ir norite sužinoti apie pagrindinius komandos „sed“ naudojimo būdus, kad galėtumėte atlikti įvairias manipuliavimo eilutėmis užduotis, ši pamoka jums padės. Tikėdamasis, kad perskaitęs šią pamoką, bet kuris vartotojas gaus aiškią „sed“ komandos funkcijų koncepciją.
Dažnai užduodami klausimai
Kam naudojama komanda sed?
„Sed“ komanda gali būti naudojama įvairiais būdais. Be to, pagrindinis naudojimas yra žodžių pakeitimas faile arba suradimas ir pakeitimas.
Puikus „sed“ dalykas yra tai, kad galite ieškoti žodžio faile ir jį pakeisti, tačiau niekada net nereikia atidaryti failo - sed tiesiog daro viską už jus!
Be to, jis gali būti naudojamas ištrynimui. Viskas, ką jums reikia padaryti, tai įvesti žodį, kurį norite rasti, pakeisti ar ištrinti, į „sed“ ir jis jums parodys - tada galėsite pasirinkti pakeisti tą žodį arba ištrinti visus žodžio pėdsakus iš savo failo.
sed yra fantastiškas įrankis, galintis pakeisti tokius dalykus kaip IP adresai ir viskas, kas yra labai jautru, kurių kitu atveju nenorėtumėte įdėti į failą. sed yra privaloma žinoti bet kuriam programinės įrangos inžinieriui!
Kas yra S ir G komandoje sed?
Paprasčiau tariant, S funkcija, kurią galima naudoti sed, tiesiog reiškia „pakaitalas“. Įvedę S, galite pakeisti arba pakeisti viską, ką tik norite - tiesiog įvedę S pakeis tik pirmą žodžio atsiradimą eilutėje.
Todėl, jei turite sakinį ar eilutę, kurioje jis minimas daugiau nei vieną kartą, funkcija S nėra ideali, nes ji pakeis tik pirmą kartą. Galite nurodyti modelį, kad S taip pat pakeistų žodžius kas du kartus.
Nurodžius „G“ komandos „sed“ pabaigoje, pakeitimas bus atliekamas visame pasaulyje (tai reiškia G). Turint tai omenyje, jei nurodysite G, jis pakeis kiekvieną pasirinkto žodžio įvykį, o ne tik pirmą kartą, kai tai daro S.
Kaip paleisti sed scenarijų?
Sed scenarijų galite paleisti keliais būdais, tačiau dažniausiai tai yra komandinėje eilutėje. Čia galite tiesiog nurodyti sed ir failą, kuriame norite naudoti komandą.
Tai leidžia tame faile naudoti sed, leidžiant jums rasti, ištrinti ir prireikus pakeisti.
Taip pat galite jį naudoti apvalkalo scenarijuje ir tokiu būdu galite perduoti scenarijui viską, ko norite, ir jis paleis komandą rasti ir pakeisti. Tai naudinga, jei nenorite nurodyti labai jautrių duomenų scenarijuje, todėl galite juos perduoti kaip kintamąjį
Turėkite omenyje, kad tai, žinoma, galima tik „Linux“, todėl norėdami paleisti „sed“ scenarijų, turėsite įsitikinti, kad turite „Linux“ komandų eilutę.