Articles

50′ sed ‘Command Examples

Posted by admin

`sed’ este o caracteristică utilă de procesare a textului GNU/Linux. Forma completă a ” sed ” este Stream Editor. Multe tipuri de sarcini simple și complicate de procesare a textului se pot face foarte ușor folosind comanda „sed”. Orice șir special într-un text sau un fișier poate fi căutat, înlocuit și șters prin utilizarea expresiei regulate cu comanda ” sed. Dar aceste comenzi efectuează temporar toate tipurile de modificări, iar conținutul fișierului original nu este modificat în mod implicit. Utilizatorul poate stoca conținutul modificat într-un alt fișier, dacă este necesar., Utilizările de bază ale comenzii ” sed ” sunt explicate în acest tutorial folosind 50 de exemple unice.

înainte de a începe acest tutorial, trebuie să verificați versiunea instalată a ” sed ” în sistemul dvs. de operare rulând următoarea comandă. Tutorialul este conceput pe baza GNU sed. Deci, această versiune a ” sed ” va fi necesară pentru a practica exemplele prezentate în acest tutorial.

$ sed –version

următoarea ieșire arată că GNU sed din versiunea 4.4 este instalat în sistem.,

Sintaxa:

sed …

Dacă nu filename este prevăzut cu `sed` comanda, apoi, script-ul va lucra pe standard date de intrare. Scriptul ” sed ” poate fi executat fără nicio opțiune.,cter

  • Truncate toate liniile la prima 80 de caractere
  • Căutare pentru un string regex și adăugați un text standard după
  • Căutare pentru un string regex și o a doua copie a găsit șir după
  • Funcționare multi-linie `sed` script-uri dintr-un fișier
  • se Potrivesc cu un multi-linie model și înlocuiți-l cu noul text multi-linie
  • Înlocuiți comanda din două cuvinte care se potrivesc cu un model
  • de a Folosi mai multe sed comenzi din linia de comandă
  • Combina sed cu alte comenzi
  • Introduce o linie goală într-un fișier
  • Șterge toate caracterele alfa-numerice din fiecare linie a unui fișier.,
  • utilizați”& „pentru a se potrivi șir
  • comutator pereche de cuvinte
  • majusculă primul caracter al fiecărui cuvânt
  • numere de linie de imprimare a fișierului
  • substituirea textului de bază folosind” sed ”

    orice parte particulară a unui text poate fi căutat și înlocuit prin. În exemplul următor, ” s ” indică sarcina de căutare și înlocuire. Cuvântul ” Bash „va fi căutat în text,” Bash Scripting Language „și dacă cuvântul există în text, atunci acesta va fi înlocuit cu cuvântul „Perl”.,

    $ echo „Bash Scripting Language” | sed ‘s/Bash/Perl/’

    Ieșire:

    cuvântul, ‘Bash’ există în text. Deci, ieșirea este „Perl Scripting Language”.

    comanda ” sed ” poate fi folosit pentru a înlocui orice parte a unui conținut de fișier, de asemenea,. Creați un fișier text numit weekday.txt cu următorul conținut.

    ziua săptămânii.,txt

    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday

    comanda următoare va căuta și înlocui text ‘duminică ‘, prin textul de duminică este sărbătoare’.

    $ ziua săptămânii cat.txt
    $ sed’s / duminică / duminică este de vacanță /” Zi a săptămânii.txt

    ieșire:

    „duminică” există în timpul săptămânii.fișier txt și acest cuvânt se înlocuiește cu textul, „duminica este de vacanță” după executarea comenzii ” sed ” de mai sus.,

    sus

    Înlocui toate instanțele dintr-un text într-o anumită linie a unui fișier utilizând ” g „opțiune

    ” g ” opțiune este folosită în `sed` comanda pentru a înlocui toate aparițiile de model de potrivire. Creați un fișier text numit python.txt cu următorul conținut pentru a cunoaște utilizarea opțiunii „g”. Acest fișier conține cuvântul. „Python” de mai multe ori.

    python.Txt

    Python este un limbaj foarte popular.
    Python este ușor de utilizat. Python este ușor de învățat.,
    Python este un limbaj cross-platform

    următoarea comandă va înlocui toate aparițiile de „Python” în a doua linie a fișierului, python.txt. Aici, „Python” apare de două ori în a doua linie.

    $ cat python.txt
    $ sed ‘2 s/Python/perl / g’ python.Txt

    ieșire:

    următoarea ieșire va apărea după rularea scriptului. Aici, toate apariția „Python” în a doua linie se înlocuiește cu „Perl”.,

    sus

    Înlocuiască pe cel de-al doilea eveniment doar de un meci pe fiecare linie

    Dacă orice cuvânt apare de mai multe ori într-un fișier, apoi anumită apariție a cuvântului în fiecare linie poate fi înlocuit cu ajutorul `sed` comanda cu numărul de telefon. Următoarea comandă ” sed ” va înlocui a doua apariție a modelului de căutare în fiecare linie a fișierului, python.txt.

    $ sed ‘s/Python/perl/g2’ python.Txt

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus., Aici, textul de căutare, „Python” apare de două ori doar în a doua linie și este înlocuit cu textul, „Perl”.

    du-te la început

    înlocuiți Ultima apariție numai a unui meci pe fiecare linie

    creați un fișier text numit lang.txt cu următorul conținut.

    lang.Txt

    Bash limbaj de programare. Limbaj De Programare Python. Limbaj De Programare Perl.
    Hypertext Markup Language.
    limbaj de marcare extensibil.

    $ sed ‘s/\(.* \ ) Programare / \ 1scripting/ ” lang.,txt

    sus

    Înlocuiți primul meci într-un fișier cu text nou

    comanda următoare va înlocui doar primul meci din căutarea model, ‘Python’ de text, ‘perl’. Aici, ” 1 ” este folosit pentru a se potrivi cu prima apariție a modelului.

    $ cat python.txt
    $ sed ‘1 s / Python/ perl /” python.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus. Aici. prima apariție a „Python” în prima linie este înlocuită cu „perl”.,

    sus

    Înlocuiți ultimul meci într-un fișier cu text nou

    comanda următoare va înlocui ultima apariție a căuta model, ‘Python’ de text, ‘Bash’. Aici, simbolul ‘ $ ‘ este folosit pentru a se potrivi cu ultima apariție a modelului.

    $ cat python.txt
    $ sed-e ‘$s/Python/ Bash / ‘ python.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.,

    sus

    Evadarea backslash în înlocuiască comenzi pentru a gestiona căutare și înlocuiți de căi de fișiere

    este necesar pentru a scăpa de backslash în calea de fișier pentru căutarea și înlocuirea. Următoarea comandă a lui ” sed ” va adăuga backslash (\) în calea fișierului.

    $ echo /home/ubuntu/code/perl/add.pl | sed ‘s;/;\\/;g’

    Ieșire:

    calea De fișier, ‘/home/ubuntu/code/perl/add.pl’ este furnizat ca intrare în anii `sed` comandă și următoarea ieșire va apărea după rularea comenzii de mai sus.,

    sus

    Înlocuiți toate fișierele calea completă cu doar numele fișierului nu directory

    numele fișierului pot fi preluate de la calea de fișier foarte ușor prin utilizarea `basename comandă. comanda ” sed ” poate fi de asemenea folosită pentru a prelua numele fișierului din calea fișierului. Următoarea comandă va prelua numele fișierului numai din calea fișierului furnizată de comanda „echo”.

    $ echo „/home/ubuntu/temp/myfile.txt | /sed ‘s/.* \ ///’

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus., Aici, numele fișierului, ” myfile.txt ‘ este imprimat ca ieșire.

    sus

    Substitut text, dar numai dacă un text este găsit în șirul de caractere

    Creați un fișier numit ‘dept.txt ‘ cu următorul conținut pentru a înlocui orice text bazat pe alt text.

    dept.txt

    Lista Total de Studenți:

    CSE – Count
    EEE – Count
    Civile – Count

    Două înlocui comenzi sunt utilizate în următoarele `sed` comanda., Aici, textul, „Count” va fi înlocuit cu 100 în linia care conține textul, ” CSE „și textul, „Count” va fi înlocuit cu 70 în linia care conține modelul de căutare, „Eee”.

    $ cat dept.txt
    $ sed-e ‘/CSE/ s/Count/100/; /Eee/ s/Count/70/;’ dept.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.,

    sus

    Substitut text, dar numai dacă un text nu este găsit în șirul de caractere

    următoarele `sed` comanda va înlocui „Count” valoarea în linie care nu conține text, ‘CSE’. Departamentul.fișier txt conține două linii care nu conțin textul, „CSE”. Deci, textul „Count” va fi înlocuit cu 80 în două rânduri.

    $ cat dept.txt
    $ sed – i-e ‘ / CSE/! s / Count / 80/; ” dept.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.,

    sus

    Adăugați un șir înainte și după modelul de potrivire folosind ‘\1’

    secvența de potrivire a modelelor de `sed` comanda este notată cu ‘\1’, ‘\2’ și așa mai departe. Următoarea comandă ” sed „va căuta modelul, „Bash” și dacă modelul se potrivește, atunci va fi accesat de „\1 ” în partea de înlocuire a textului. Aici, textul, „Bash” este căutat în textul de intrare și, un text este adăugat înainte și un alt text este adăugat după „\1”.,

    $ echo „Bash limbă” | sed ‘s/\(Bash\)/Afla \1 programare/’

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus. Aici, textul „învață” este adăugat înainte de „Bash” și textul „programare” este adăugat după „Bash”.

    Go to top

    Delete matching lines

    opțiunea ” d „este utilizată în comanda” sed ” pentru a șterge orice linie din fișier. Creați un fișier numit os.txt și adăugați următorul conținut pentru a testa funcția opțiunii „d”.

    cat os.,txt

    Windows
    Linux
    Android
    OS

    următoarea comandă ” sed ” va șterge acele linii din sistemul de operare.fișier txt care conține textul, „OS”.

    $ cat os.txt
    $ sed’/OS / d ‘ os.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.

    sus

    Ștergere potrivire linie și 2 linii de potrivire linie

    următoarea comandă va șterge trei linii din fișierul de sistem de operare.txt dacă modelul, „Linux” este găsit. os.,txt conține textul, „Linux” în a doua linie. Deci, această linie și următoarele două linii vor fi șterse.

    $ sed ‘/Linux/,+2D’ os.Txt

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus.

    sus

    Ștergere toate spațiile de la sfârșitul liniei de text

    Folosind clasa poate fi utilizat pentru a elimina spațiile și file de text sau conținut de orice fișier. Următoarea comandă va elimina spațiile de la sfârșitul fiecărei linii a fișierului, os.txt.,

    $ cat os.txt
    $ sed ‘s/] * $ / /’ os.txt

    ieșire:

    os.txt conține linii goale după fiecare linie care sunt șterse de comanda ” sed ” de mai sus.

    mergeți sus

    ștergeți toate liniile care au o potrivire de două ori pe linie

    creați un fișier text numit, input.txt cu următorul conținut și ștergeți acele linii ale fișierului care conține modelul de căutare de două ori.

    intrare.txt

    PHP este un limbaj de scripting server-side.
    PHP este un limbaj open-source și PHP este sensibil la litere mari și mici.,
    PHP este independent de platformă.

    textul ” PHP ” conține de două ori în a doua linie a fișierului, de intrare.txt. Două comenzi `sed „sunt folosite în acest exemplu pentru a elimina acele linii care conțin modelul” php ” de două ori. Prima comandă `sed „va înlocui a doua apariție a” php „în fiecare linie cu” dl „și va trimite ieșirea în a doua comandă” sed ” ca intrare. A doua comandă ” sed „va șterge acele linii care conțin textul, „dl”.

    $ cat de intrare.txt
    $ sed ‘s / php / dl/ i2; intrare t’.txt/sed ‘/ dl / d ‘

    ieșire:

    intrare.,fișierul txt are două linii care conțin modelul, ” php ” de două ori. Deci, următoarea ieșire va apărea după rularea comenzilor de mai sus.

    sus

    Șterge toate liniile care au doar alb-spațiu

    Selectați orice fișier care conține linii goale în conținut pentru a testa acest exemplu. intrare.fișier txt care este creat în exemplul anterior, conține două linii goale care pot fi șterse utilizând următoarea comandă „sed”. Aici, „^ $ ” este folosit pentru a afla liniile goale din fișier, intrare.txt.

    $ cat input.,txt
    $ sed’ /^$ / d ‘ intrare.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.

    sus

    Șterge toate caracterele non-printabile

    caractere Non-printabile pot fi șterse din orice text prin înlocuirea caractere non-printabile de nimeni. clasa este utilizată în acest exemplu pentru a afla caracterele care nu pot fi tipărite. ‘\t ‘ este un caracter neimprimabil și nu poate fi analizat direct de comanda `echo`. Pentru aceasta, caracterul „\t „este atribuit într-o variabilă, fila $care este utilizată într-o comandă „echo”., Ieșirea comenzii „echo” este trimisă în comanda ” sed „care va elimina caracterul,” \t ” din ieșire.

    $ tab=$’\t’
    $ echo „Hello$tabWorld”
    $ echo „Hello$tabWorld” | sed ‘s/]//g’

    Ieșire:

    următoarea ieșire va apărea după execută comenzile de mai sus. Prima comandă echo va imprima ieșirea cu spațiu pentru File, iar comanda ” sed ” va imprima ieșirea după eliminarea spațiului pentru File.,

    sus

    Dacă există o potrivire în linie adăugați ceva la capăt de linie

    comanda următoare va adăuga ’10’ la capăt de linie care conține text, „Ferestre”, în sistemul de operare.fișier txt.

    $ cat os.txt
    $ sed „/ Windows/ s/$/ 10 / ” sistem de operare.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzii.,

    sus

    Dacă există o potrivire în linia a introduce o linie înainte de text

    următoarele `sed` comandă de căutare în text, ‘PHP este independent de platforma’ de la intrare.fișier txt care este creat înainte. Dacă fișierul conține acest text în orice linie, atunci „PHP este un limbaj interpretat” va fi inserat înainte de acea linie.

    $ cat de intrare.txt
    $ sed ‘ / PHP este independent de platformă/s / ^ / PHP este un limbaj interpretat.\ n/’ intrare.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.

    sus

    Dacă există o potrivire în linie inserați o linie după linie

    următoarele `sed` comandă de căutare în text, „Linux” în fișierul de sistem de operare.txt și dacă textul există în orice linie, atunci un text nou, „Ubuntu” va fi introdus după acea linie.

    $ cat os.txt
    $ sed ‘s / Linux / & \nUbuntu/ ” sistem de operare.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.

    sus

    Dacă nu este un meci adăuga ceva la capăt de linie

    următoarele `sed` comandă va căuta acele linii în sistemul de operare.txt care nu conține textul, „Linux” și adăugați textul, „sistem de operare” la sfârșitul fiecărei linii. Aici, simbolul ” $ ” este folosit pentru a identifica linia la care va fi adăugat noul text.

    $ cat os.txt
    $ sed ‘ / Linux/! S / $/ sistem de operare / ” sistem de operare.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus. Trei linii există în sistemul de operare de fișiere.txt care nu conține textul, „Linux” și noul text s adăugat la sfârșitul acestor linii.

    sus

    Dacă nu este un meci de a șterge linia

    Creați un fișier numit web.txt și adăugați următorul conținut și ștergeți liniile care nu conțin modelul de potrivire. web.txt, HTML 5JavaScriptCSSPHPMySQLJQuery următoarele `sed` comandă va căuta și șterge aceste linii care nu conțin text, ‘CSS’., $ cat web.txt$ sed ‘ / CSS/!d ‘ web.ieșire txt: următoarea ieșire va apărea după rularea comenzilor de mai sus. Există o linie există în fișierul care conține textul, „CSE”. Deci, ieșirea conține doar o singură linie.

    sus

    Duplicate potrivit textului după adăugarea unui spațiu după text

    următoarele `sed` comandă va căuta cuvântul, ” la ” în dosar, python.txt și dacă cuvântul există, atunci același cuvânt va fi introdus după cuvântul de căutare prin adăugarea de spațiu., Aici, simbolul’ & ‘ este folosit pentru a adăuga textul duplicat.

    $ cat python.txt
    $ sed-e’s /to / & to/G’ python.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor. Aici, cuvântul ” la ” este căutat în fișier, python.txt și acest cuvânt există în a doua linie a acestui fișier. Deci, ” la ” cu spațiu se adaugă după textul de potrivire.,

    du-te la început

    înlocuiți o listă de șiruri cu noul șir

    trebuie să creați două fișiere listă pentru testarea acestui exemplu. Creați un fișier text numit list1.txt și adăugați următorul conținut.

    lista de pisici1.txt

    1001 => Jafar Ali
    1023 => Nir Hossain
    1067 => John Michel

    Creați un fișier text numit list2.txt și adăugați următorul conținut.

    $ cat list2.txt

    1001 CSE GPA-3.,63
    1002 CSE GPA-3.24
    1023 CSE GPA-3.11
    1067 CSE GPA-3.84

    următoarele `sed` comanda se va potrivi cu prima coloană a două fișiere text prezentat mai sus și înlocuiți potrivire text cu valoarea din coloana a treia a fișierului list1.txt.

    $ cat list1.txt
    $ cat list2.txt
    $ sed ‘ cat list1.txt | awk ‘{print „-e s/”$1″/”$3″/”}”<<<„` cat list2.Txt ‘”

    ieșire:

    1001, 1023 și 1067 din list1.meci fișier txt cu cele trei date ale list2.,fișierul txt și aceste valori sunt înlocuite cu numele corespunzătoare ale celei de-a treia coloane din list1.txt.

    du-te la început

    înlocuiți șirul potrivit cu un șir care conține linii noi

    următoarea comandă va lua intrare din comanda „echo” și va căuta cuvântul, „Python” în text. Dacă cuvântul există în text, atunci un text nou, „text adăugat” va fi inserat cu linie nouă. $ echo „Bash Perl Python Java PHP ASP” / sed ‘s/Python / text adăugat \ n /’ Output: următoarea ieșire va apărea după rularea comenzii de mai sus.,

    mergeți sus

    eliminați liniile noi din fișier și introduceți o virgulă la sfârșitul fiecărei linii

    următoarea comandă ” sed ” va înlocui fiecare linie nouă cu o virgulă în sistemul de operare al fișierului.txt. Aici, opțiunea-z este utilizată pentru a separa linia de caracter nul.

    $ sed-z ‘s/\n/,/g’ os.Txt

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus.,

    mergeți sus

    eliminați virgulele și adăugați o linie nouă pentru a împărți textul în mai multe linii

    următoarea comandă ” sed „va lua linia separată prin virgulă de comanda „echo” ca intrare și va înlocui virgula cu linie nouă.

    $ echo „Kaniz Fatema,30,lot” | sed „s/,/\n/g”

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus. Textul de intrare conține trei date separate prin virgulă, care sunt înlocuite cu newline și imprimate în trei linii.,

    sus

    Găsi caz insensibil meci și a șterge linie

    ” eu ” este folosit în `sed` comanda pentru case-insensitive meci care indică ignora caz. Următoarea comandă ” sed „va căuta linia care conține cuvântul, „linux” și va șterge linia din sistemul de operare.fișier txt.

    $ cat os.txt
    $ sed’/linux / Id ‘ sistem de operare.Txt

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus. os.,txt conține cuvântul, „Linux”, care se potrivesc cu modelul, „linux” pentru căutare case-insensibile și șterse.

    sus

    Găsi caz insensibil meci și înlocuiți-l cu noul text

    următoarele `sed` comanda va ia de intrare de la „echo”, a comanda și de a înlocui cuvântul, ‘bash’ prin cuvântul, „PHP”.

    $ echo „îmi place de programare bash” | sed ‘s/Bash/PHP/i’

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus., Aici, cuvântul, „Bash” se potrivește cu cuvântul, „bash” pentru căutare insensibilă la litere mari și mici și înlocuit cu cuvântul, „PHP”.

    sus

    Găsi caz insensibil meci și să o înlocuiască cu toate majuscule de același text

    ‘\U’ este utilizat `sed` pentru a converti orice text în toate majusculă. Următoarea comandă ” sed „va căuta cuvântul, „linux” în sistemul de operare.fișier txt și dacă cuvântul există, atunci acesta va înlocui cuvântul cu toate literele mari.

    $ cat os.txt
    $ sed’ s/\(linux\)/\U\1 / Ig ‘ os.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus. Cuvântul, „Linux” al sistemului de operare.fișier txt este înlocuit cu cuvântul, „LINUX”.

    sus

    Găsi caz insensibil meci și înlocuiți-l cu litere mici toate de același text

    ‘\L’ este utilizat `sed` pentru a converti orice text în toate litere mici. Următoarea comandă ” sed „va căuta cuvântul, „Linux” în sistemul de operare.fișier txt și înlocuiți cuvântul cu toate literele mici.

    $ cat os.txt
    $ sed’ s/\(linux\)/\L\1/Ig ‘ sistem de operare.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus. Cuvântul, „Linux” este înlocuit de cuvântul, „linux” aici.

    sus

    Înlocuiți toate majuscule, caractere de text cu caractere mici

    următoarele `sed` comandă va căuta toate majuscule în sistemul de operare.fișier txt și înlocuiți caracterele cu litere mici folosind „\l”.

    $ cat os.txt
    $ sed ‘s/\(.*\) / \L \ 1 / ‘ os.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.

    du-te la început

    33. Căutați numărul în linie și adăugați orice simbol monedă înainte de numărul

    creați un fișier numit elemente.txt cu următorul conținut.

    articole.txt

    HDD 100
    Monitor 80
    Mouse 10

    următoarea comandă ” sed ” va căuta numărul din fiecare linie de articole.fișier txt și adăugați simbolul monedei, ” $ ” înainte de fiecare număr.

    $ articole cat.,txt
    $ sed/\(\)/$\1/g ” elemente.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus. Aici, simbolul ” $ ” este adăugat înainte de numărul fiecărei linii.

    sus

    Adăugați virgule la numerele care au mai mult de 3 cifre

    următoarele `sed` comandă va avea un număr de intrare de la „echo” comanda și se adaugă o virgulă după fiecare grup de trei cifre, de la dreapta la stânga. Aici,”: a „indică eticheta și” ta ” este utilizat pentru a itera procesul de grupare.,

    $ echo „5098673” | sed -e :a-e ‘s/\(.*\)\(\{3\}\)/\1,\2/;ta’

    Ieșire:

    numărul 5098673 este dat în „echo” comanda și `sed` comanda generat numărul 5,098,673 prin adăugarea virgulă după fiecare grup de trei cifre.

    du-te la început

    înlocuiește caracterul tab cu 4 caractere spațiale

    următoarea comandă ” sed ” va înlocui fiecare caracter tab (\t) cu patru caractere spațiale., simbolul ” $ „este utilizat în comanda” sed „pentru a se potrivi cu caracterul filei și” g ” este utilizat pentru a înlocui toate caracterele filei.

    $ echo-e „1\t2\t3” | sed $’s/\t/ /g’

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus.

    sus

    Înlocuiește 4 consecutive caractere spațiu cu caracter tab

    comanda următoare va înlocui 4 caractere consecutive cu tab (\t) caracter.,

    $ echo-e „1 2” | sed $’s/ /\t/g’

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus.

    mergeți la început

    trunchiați toate liniile la primele 80 de caractere

    creați un fișier text numit în.txt care conține liniile mai mult de 80 de caractere pentru a testa acest exemplu.

    în.txt

    PHP este un limbaj de scripting server-side.
    PHP este un limbaj open-source și PHP este sensibil la litere mari și mici. PHP este independent de platformă.
    următoarea comandă ” sed ” va trunchia fiecare linie de in.,fișier txt în 80 de caractere.

    $ cat în.txt
    $ sed ‘s/\(^.\{1,80\}\).* / \1/ ” în.Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus. A doua linie de in.fișierul txt conține mai mult de 80 de caractere și această linie este trunchiată în ieșire.

    sus

    Căutare pentru un string regex și adăugați un text standard după

    următoarele `sed` comandă de căutare în text, „bună ziua”, în textul de intrare și adăugați textul, „John”, după care text.,

    $ echo ” Bună ziua, ce mai faci?”/sed ‘s/\(hello\)/\1 John /’

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus.

    du-te la început

    căutați Regex șir și adăugați un text după a doua potrivire în fiecare linie

    următoarea comandă ” sed „va căuta textul,” PHP ” în fiecare linie de intrare.txt și înlocuiți al doilea meci în fiecare rând cu textul, „Text Nou Adăugat”.

    $ cat de intrare.txt
    $ sed ‘s / \(PHP\) / \ 1 (Text Nou Adăugat)/2’ Intrare.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus. Textul de căutare, ” PHP ” apare de două ori în a doua și a treia linie de intrare.fișier txt. Deci, textul, „Text nou adăugat” este inserat în a doua și a treia linie.

    sus

    de Funcționare multi-linie `sed` script-uri dintr-un fișier

    mai Multe `sed` script-uri pot fi stocate într-un fișier și toate script-urile pot fi executate împreună prin rularea `sed` comanda. Creați un fișier numit „sedcmd” și adăugați următorul conținut., Aici, două scripturi ” sed ” sunt adăugate în fișier. Un script va înlocui textul, ” PHP ” de ” ASP „un alt script va înlocui textul, „independent” de text, „dependent”.

    sedcmd

    s/PHP/ASP/
    s/independente/dependente/

    următoarele `sed` comanda va înlocui toate ” PHP ” și „independent” text de ‘ASP’ și „dependent”. Aici, opțiunea „- f „este utilizată în comanda” sed „pentru a executa scriptul” sed ” din fișier.

    $ cat sedcmd
    $ sed -f sedcmd de intrare.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.

    sus

    se Potrivesc cu un multi-linie model și înlocuiți-l cu noul text multi-linie

    următoarele `sed` comandă de căutare de text multi-linie, ‘Linux\nAndroid’ și dacă modelul se potrivește apoi de potrivire linii va fi înlocuit de text multi-linie, ‘Ubuntu\nAndroid Lollipop. Aici, P și D sunt utilizate pentru procesarea multilinie.

    $ cat os.txt
    $ sed’$!N;S/Linux\nAndoid/Ubuntu\Nandoid Lollipop/; P;D’ sistem de operare.,Txt

    ieșire:

    următoarea ieșire va apărea după rularea comenzilor de mai sus.

    sus

    ordin de două cuvinte într-un text care se potrivesc cu un model

    următoarele `sed` comandă va avea intrare din două cuvinte de la „echo”, a comanda și de a înlocui ordinea de aceste cuvinte.

    $ echo „perl python” | sed -e ‘s/\(*\) *\(*\)/\2 \1/’

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus.,

    sus

    Executa mai multe `sed` comenzi din linia de comandă

    „-e ” opțiune este folosită în `sed` comanda pentru a rula mai multe `sed` script-uri de la linia de comandă. Următoarea comandă ” sed „va lua un text ca intrare din comanda „echo” și înlocuiește „Ubuntu” cu „Kubuntu” și „Centos” cu „Fedora”.

    $ echo „Ubuntu, Centos Debian” | sed -e ‘s/Ubuntu/Kubuntu/; s/Centos/Fedora/’

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus., Aici, „Ubuntu” și „Centos” sunt înlocuite cu „Kubuntu” și „Fedora”.

    sus

    Combina `sed` cu alte comenzi

    comanda următoare va combina `sed` comanda cu ” cat ” comanda. Prima comandă ” sed ” va prelua intrarea din sistemul de operare.fișierul txt și trimite ieșirea comenzii la a doua comandă ” sed „după înlocuirea textului „”Linux” cu „Fedora”. A doua comandă ” sed „va înlocui textul, „Windows” cu „Windows 10”.

    $ cat os.,Txt/sed’ s/ Linux| Fedora/’/sed’ s/windows/Windows 10/i ‘

    ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus.

    sus

    Introduce o linie goală într-un fișier

    Creați un fișier numit stdlist cu următorul conținut.

    stdlist

    #ID #Numele
    -Ali
    -Neha.

    ” G ” opțiune este utilizată pentru a introduce o linie goală într-un fișier. Următoarea comandă ” sed ” va insera linii goale după fiecare linie de fișier stdlist.,

    $ cat stdlist
    $ sed G stdlist

    Ieșire:

    următoarea ieșire va apărea după execută comenzile de mai sus. O linie goală este introdusă după fiecare linie a fișierului.

    du-te la început

    înlocuiți toate caracterele alfa-numerice de spațiu în fiecare linie a unui fișier.

    următoarea comandă va înlocui toate caracterele alfa-numerice cu spațiu în fișierul stdlist.,

    $ cat stdlist
    $sed ‘s///g’ stdlist

    Ieșire:

    următoarea ieșire va apărea după execută comenzile de mai sus.

    sus

    Utilizare ‘&’ pentru a imprima potrivit string

    comanda următoare va căuta cuvântul care începe cu ” L ” și înlocui text prin adăugarea ‘Potrivire Șir este – cu potrivire cuvânt prin utilizarea ‘&’ simbol. Aici, ” p ” este folosit pentru a imprima textul modificat.,

    $ sed -n ‘s/^L/Potrivire Șir este &/p’ os.Txt

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus.

    sus

    Comutator pereche de cuvinte într-un fișier

    Creați un fișier text numit de curs.txt cu următorul conținut care conține perechea de cuvinte din fiecare linie.

    curs.,txt

    PHP ASP
    MySQL Oracle
    Codeigniter Laravel

    următoarea comandă va schimba perechea de cuvinte din fiecare linie a fișierului, curs.txt.

    $ sed ‘ s/\(*\) *\(*\)/\2 \1/’ curs.Txt

    ieșire:

    următoarea ieșire va apărea după comutarea perechii de cuvinte din fiecare linie.,

    mergeți sus

    capitalizați primul caracter al fiecărui cuvânt

    următoarea comandă ” sed „va prelua textul de intrare din comanda „echo” și va converti primul caracter al fiecărui cuvânt într-o majusculă.

    $ echo „îmi place de programare bash” | sed ‘s/\(\)\(*\)/\u\1\2/g’

    Ieșire:

    următoarea ieșire va apărea după rularea comenzii de mai sus. Textul de intrare, ” îmi place programarea bash „este tipărit ca” Îmi place programarea Bash ” după valorificarea primului cuvânt.,

    du-te la început

    Print numere de linie ale fișierului

    simbolul’=’ este folosit comanda ” sed ” pentru a imprima numărul liniei înainte de fiecare linie a unui fișier. Următoarea comandă va imprima conținutul sistemului de operare.fișier txt cu numărul liniei.

    $ sed ‘=’ os.Txt

    Output:

    următoarea ieșire va apărea după rularea comenzii de mai sus. Există patru linii în sistemul de operare.fișier txt. Deci, numărul liniei este tipărit înainte de fiecare linie a fișierului.,

    sus

    Concluzie:

    Diferite utilizări ale `sed` comanda sunt explicate in acest tutorial folosind foarte simple exemple. Rezultatul tuturor scripturilor ” sed ” menționate aici este generat temporar, iar conținutul fișierului original a rămas neschimbat. Dar dacă doriți, puteți modifica fișierul original utilizând opțiunea –i sau-in-place a comenzii sed. Dacă sunteți un utilizator Linux nou și doriți să aflați utilizările de bază ale comenzii ” sed ” pentru a efectua diferite tipuri de sarcini de manipulare a șirurilor, atunci acest tutorial vă va ajuta., După ce ați citit acest tutorial, sper, orice utilizator va primi conceptul clar despre funcțiile comenzii „sed”.

    Leave A Comment