Movatterモバイル変換


[0]ホーム

URL:


Sari la conținut
Wikipediaenciclopedia liberă
Căutare

sed

De la Wikipedia, enciclopedia liberă

Sed este o comandă utilizată pentru transformarea secvențelor de text. Comanda citește fișierele de intrare linie cu linie, apoi modifică fiecare linie corespunzător regulilor specificate într-un limbaj simplu, și afișează linia. Inițial, programul a fost creat ca un utilitarUNIX de către Lee E. McMahon la Bell Labs[1] între 1973 și 1974 dar acum este disponibil pe aproape orice sistem de operare care suporta o linie de comandă.

Istorie

[modificare |modificare sursă]

sed este una din primele comenziUNIX pentru prelucrat text. A evoluat din comandagrep[2] și este folosit pe larg împreună cuAWK pentru prelucrări de text din linia de comandă sau prin intermediul programelor shell.

sed șiAWK sunt deseori prezentați ca precursorii limbajuluiPerl, sintaxas / / / prezentată mai jos a fost preluată înPerl fiind introdusă original în editoruled.

Limbajul sed nu are variabile, iar structurile de control sunt primitive. Totuși, limbajul este considerat Turing-complete.[2][3]VariantaGNU a limbajului sed adaugă o serie nouă de elemente de limbaj. Cea mai bine cunoscută este modificarea pe loc a fișierelor text folosind rezultatul rulării programului. Această facilitate a fost mai târziu preluată și de versiunea sed dinBSD. În ziua de azi, facilitatea elimină scripturileed, de exemplu

sed -i 's/abc/def/' file

poate fi folosită în loc de

ed file1,$ s/abc/def/wq

Notă:sed -i suprascrie fișierul original

Super-sed este o versiune extinsă a sed, care include suport pentru expresii regulate în formatul definit înPerl.

O altă variantă de sed esteminised. Aceasta este precursoare versiuniiGNU sed. Are avantajul că este foarte rapidă și consumă puțină memorie, fiind astfel ideală pentru sistemele embedded.


Utilizare

[modificare |modificare sursă]

Următorul exemplu arată o utilizare tipică a sed, opțiunea-e indică faptul că urmează o expresie sed:

sed -e 's/textvechi/textnou/g' NumeFișierIntrare > NumeFișierIesire

s de la începutul expresiei înseamnă substituție,g de la sfârșit înseamnă global ceea ce înseamnă că toate aparițiiletextvechi din linie vor fi înlocuite cutextnou

În afară de substituții mai sunt posibile și alte modalități de procesare. Următorul exemplu șterge liniile goale sau liniile care conțin doar spatii:

 sed -e '/^ *$/d' NumeFișierIntrare


ÎnUNIX, sed este folosit adeseori ca un filtru în succesiunea de comenzi:

generate_data | sed -e 's/x/y/g'

Exemplu de mai sus substituie literelex cuy în datele generate de programulgenerate_data.

Mai multe substituții sau comenzi pot fi puse împreună într-un fișiere, de exemplusubs.sed, și executate împreună folosind opțiunea-f

sed -f subst.sed NumeFișierIntrare > NumeFișierIeșire


Referințe

[modificare |modificare sursă]
  1. ^„Frequently-Asked Questions about sed, the stream editor”. Arhivat dinoriginal la. Accesat în. 
  2. ^ab„On the Early History and Impact of Unix”. 
  3. ^„Turing.sed”. Arhivat dinoriginal la. Accesat în. 


Legături externe

[modificare |modificare sursă]


 v  d  m Programe înlinia de comandă pentruUnix (mai multe)
Gestionare de fișiere:cat |cd |chmod |chown |chgrp |cksum |cmp |cp |du |df |file |fsck |ln |ls |lsof |mkdir |mount |mv |pwd |rm |rmdir |split |touch
Gestionare de procese:at |chroot |cron |exit |kill |killall |nice |pgrep |pidof |pkill |ps |pstree |sleep |time |top |wait
Gestionare de utilizator/mediu:env |finger |id |mesg |passwd |su |sudo |uname |uptime |w |wall |who |whoami |write
Procesare text:awk |comm |cut |ed |ex |fmt |head |iconv |join |less |more |paste |sed |sort |tac |tail |tr |uniq |wc |xargs
ProgramareShell:basename |echo |expr |false |printf |test |true |unsetImprimare:
lp
Communicații:
inetd |netstat |ping |rlogin |traceroute
Căutare:
find |grep |strings
Diverse:
banner |bc |cal |dd |man |size |yes
Adus de lahttps://ro.wikipedia.org/w/index.php?title=Sed&oldid=15717540
Categorii:
Categorii ascunse:

[8]ページ先頭

©2009-2026 Movatter.jp