sed - editor de flux pentru filtrarea și transformarea
textului
sed [-V] [--version] [--help] [-n] [--quiet] [--silent]
[-l N] [--line-length=N] [-u] [--unbuffered]
[-E] [-r] [--regexp-extended]
[-e script] [--expression=script]
[-f script-file] [--file=fișier_script]
[script-if-no-other-script]
[fișier...]
Sed este un editor de flux. Un editor de flux este utilizat
pentru a executa transformări de text de bază pe un flux de
intrare (un fișier sau o intrare de la o conductă). În
timp ce în anumite privințe este asemănător cu
un editor care permite editarea de scripturi (precum ed), sed
funcționează făcând doar o singură
trecere peste datele de intrare, și este prin urmare mai eficient.
Dar este abilitatea lui sed de a filtra text într-o
conductă care îl distinge în mod particular de alte
tipuri de editoare.
-n, --quiet, --silent
- suprimă afișarea automată a spațiului de
model
--debug
- adnotează execuția programului
-e script, --expression=script
- adaugă scriptul la comenzile de executat
-f fișier_script,
--file=fișier_script
- adaugă conținutul fișierului script la comenzile de
executat
--follow-symlinks
- urmărește legăturile simbolice când se
operează direct, asupra fișierului
-i[SUFIX], --in-place[=SUFIX]
- editează fișierele pe loc (operează direct, asupra
fișierelor; face o copie de rezervă dacă SUFIX este
furnizat)
-l N, --line-length=N
- specifică lungimea dorită a încadrării liniei
pentru comanda „l”
--posix
- dezactivează toate extensiile GNU.
-E, -r, --regexp-extended
- utilizează expresii regulate extinse în script (pentru
portabilitate utilizați POSIX -E).
-s, --separate
- consideră fișierele ca separate față de un
singur, flux lung continuu.
--sandbox
- operează în modul sandbox (dezactivează comenzile
e/r/w).
-u, --unbuffered
- încarcă cantități minime de date din
fișierele de intrare și golește mai des memoriile
tampon de ieșire
-z, --null-data
- separă liniile după caractere NUL
- --help
- afișează acest mesaj de ajutor și iese
- --version
- afișează informațiile despre versiune și
iese
Dacă nu este dată niciuna din opțiunile
-e, --expression, -f, sau --file, atunci primul
argument non-opțiune este luat ca scriptul «sed» de
interpretat. Toate argumentele rămase sunt considerate nume de
fișiere de intrare; dacă nu este specificat nici un
fișier de intrare, este citită intrarea standard.
Pagină principală a GNU sed:
<https://www.gnu.org/software/sed/>. Ajutor general pentru utilizarea
software-ului GNU: <https://www.gnu.org/gethelp/>. Trimiteți
rapoartele de erori prin e-mail la: <bug-sed@gnu.org>.
Împachetat de Debian, Drepturi de autor © 2022 Free
Software Foundation, Inc. Licență GPLv3+: GNU GPL versiunea 3
sau o versiune ulterioară <https://gnu.org/licenses/gpl.html>.
Acesta este software liber: sunteți liber să îl
modificați și să îl redistribuiți. Nu
există NICI O GARANȚIE, în măsura permisă
de lege.
Acesta este doar un rezumat scurt ale comenzilor sed pentru
a servi ca o aducere aminte pentru cei care știu deja sed;
altă documentație (precum documentul texinfo) trebuie
să fie consultată pentru descrieri mai complete.
„comenzi” fără adresă
- : eticheta
- Etichetă pentru comenzile b și t.
- #comentariu
- Comentariul se extinde până la următoarea linie
nouă (sau sfârșitul unui fragment de script
-e).
- }
- Acolada de închidere a unui bloc { }.
- =
- Afișează numărul de linie curentă.
- a \
- text
- Adaugă text, care are fiecare linie nouă
încorporată precedată de o bară oblică
inversă.
- i \
- text
- Introduce text, care are fiecare linie nouă
încorporată precedată de o bară oblică
inversă.
- q
[cod_de_ieșire]
- Iese imediat din scriptul sed) fără a mai procesa
alte date de intrare, cu excepția faptului că, dacă
opțiunea de auto-imprimare nu este dezactivată,
spațiul de model curent va fi imprimat. Argumentul de cod de
ieșire este o extensie GNU.
- Q
[cod_de_ieșire]
- Iese imediat din scriptul sed fără a mai procesa
intrări. Aceasta este o extensie GNU.
- r nume_fișier
- Adaugă text citit din nume_fișier.
- R nume_fișier
- Adaugă o linie citită de la nume_fișier.
Fiecare invocare a comenzii citește o linie de la fișier.
Aceasta este o extensie GNU.
- {
- Începe un bloc de comenzi (termină cu o }).
- b eticheta
- Trece la eticheta; dacă eticheta este omisă,
trece la sfârșitul scriptului.
- c \
- text
- Înlocuiește liniile selectate cu text, care are
fiecare linie nouă încorporată precedată de o
bară oblică inversă.
- d
- Șterge spațiul model. Începe un ciclu nou.
- D
- Dacă spațiul model nu conține nicio linie
nouă, începe un ciclu normal nou ca și cum comanda d
a fost emisă. Altfel, șterge textul în spațiul
model până la prima linie nouă, și
repornește ciclul cu spațiul model rezultant,
fără a citi o linie nouă de intrare.
- h H
- Copiază/adăugă spațiul de model la
spațiul de stocare.
- g G
- Copiază/adaugă spațiul de stocare la spațiul
de model.
- l
- Listează linia curentă într-o formă
„lipsită de ambiguitate vizuală”.
- l lăţime
- Listează linia curentă într-o formă
„lipsită de ambiguitate vizuală”,
întrerupând-o la lățime caractere.
Aceasta este o extensie GNU.
- n N
- Citește/adaugă următoarea linie de intrare în
spațiul de model.
- p
- Afișează spațiul de model curent.
- P
- Afișează până la prima linie nouă
încorporată a spațiului de model curent.
- s/exp_reg/înlocuirea/
- Încearcă să potrivească exp_reg cu
spațiul modelului. Dacă reușește,
înlocuiește porțiunea care corespunde cu
"înlocuirea". înlocuirea poate
conține caracterul special & pentru a se referi la acea
parte a spațiului de model care s-a potrivit, precum și
eludările speciale de la \1 la \9 pentru a se referi la
sub-expresiile corespunzătoare din exp_reg care se
potrivesc.
- t eticheta
- Dacă o s/// (substituire) a efectuat o substituție cu succes
de când a fost citită ultima linie de intrare și de
la ultima comandă t sau T, atunci trece la eticheta;
dacă etichetaeste omisă, trece la
sfârșitul scriptului.
- T eticheta
- Dacă nicio s/// (substituire) nu a efectuat o substituție cu
succes de când a fost citită ultima linie de intrare
și de la ultima comandă t sau T, atunci trece la
eticheta; dacă eticheta este omisă, trece la
sfârșitul scriptului. Aceasta este o extensie GNU.
- w nume_fișier
- Scrie spațiul de model curent în
nume_fișier.
- W nume_fișier
- Scrie prima linie a spațiului model curent în
nume_fișier. Aceasta este o extensie GNU.
- x
- Interschimbă conținutul spațiilor de stocare
și de model.
- y/sursă/destinaţie/
- Transliterează caracterele din spațiul model care apar
în sursă la caracterul corespunzător din
destinație.
Comenzile Sed pot fi date fără adrese,
în care caz comanda va fi executată pentru toate liniile de
intrare; cu o adresă, în care caz comanda va fi
executată doar pentru liniile de intrare care se potrivesc cu acea
adresă; sau cu două adrese, în care caz comanda va fi
executată pentru toate liniile de intrare care se potrivesc
intervalului inclusiv de linii care încep de la prima adresă
și se continuă la a doua adresă. Trei lucruri de
observat despre intervalele de adresă: sintaxa este
adresa1,adresa2 (adică adresele sunt separate printr-o
virgulă); linia care a potrivit adresa1 va fi
întotdeauna acceptată, chiar dacă adresa2
selectează o linie anterioară; și dacă
adresa2 este o exp_reg, nu va fi testată
împotriva liniei care a potrivit adresa1.
După adresă (sau intervalul de adrese) și
înainte de comandă, se poate introduce un !, care
specifică faptul că această comandă va fi
executată numai dacă adresa (sau intervalul de adrese)
nu se potrivește.
Următoarele tipuri de adresă sunt suportate:
- număr
- Potrivește numai linia specificată numărul
(care se incrementează cumulativ în toate fișierele,
cu excepția cazului în care opțiunea -s este
specificată în linia de comandă).
- prima~etapă
- Potrivește fiecare a etapă linie care începe
cu linia prima. De exemplu, «sed -n 1~2p» va
afișa toate liniile numerotate impar în fluxul de intrare,
și adresa 2~5 va potrivi fiecare a cincea linie,
începând cu a doua. prima poate fi zero; în
acest caz, sed operează ca și cum ar fi egală
cu etapă. (Aceasta este o extensie.)
- $
- Potrivește ultima linie.
- /exp_reg/
- Potrivește liniile care se potrivesc cu expresia regulată
exp_reg. Potrivirea este executată pe spațiul de
model curent, care poate fi modificat cu comenzi precum
„s///”.
- \cexp_regc
- Potrivește liniile care se potrivesc expresiei regulate
exp_reg. c poate fi orice caracter.
GNU sed acceptă, de asemenea, unele forme speciale
cu două adrese:
- 0,adresa2
- Începe în starea „prima adresă
potrivită”, până când adresa2
este găsită. Acest lucru este similar cu 1,adresa2,
cu excepția faptului că, dacă adresa2 se
potrivește cu prima linie de intrare, forma 0,adresa2 se va
afla la sfârșitul intervalului său, în timp ce
forma 1,adresa2 se va afla încă la începutul
intervalului său. Acest lucru funcționează numai
atunci când adresa2 este o expresie regulată.
- adresa1,+N
- Va potrivi adresa1 și liniile N care urmează
după adresa1.
- adresa1,~N
- Va potrivi adresa1 și liniile care urmează
după adresa1 până la următoarea linie
al cărei număr de linie de intrare este un multiplu de
N.
BRE-urile (Basic Regular Expression) POSIX.2 ar trebui
să fie acceptate, dar nu sunt acceptate complet din cauza problemelor
de performanță. Secvența \n într-o
expresie regulată se potrivește caracterului de linie
nouă, și similar pentru \a, \t, și alte
secvențe. Opțiunea -E comută la utilizarea
expresiilor regulate extinse în locul acestora; aceasta este
admisă de ani de zile de GNU sed, iar acum este inclusă
în POSIX.
Trimiteți rapoartele de erori prin e-mail la
bug-sed@gnu.org. De asemenea, includeți ieșirea
comenzii «sed --version» în corpul raportului
dacă este posibil.
Scris de Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim
Meyering, și Assaf Gordon.
Acest program «sed» a fost construit cu suport
SELinux. SELinux este dezactivat pe acest sistem.
Pagină principală a GNU sed:
<https://www.gnu.org/software/sed/>. Ajutor general pentru utilizarea
software-ului GNU: <https://www.gnu.org/gethelp/>. Trimiteți
rapoartele de erori prin e-mail la: <bug-sed@gnu.org>.
awk(1), ed(1), grep(1), tr(1),
perlre(1), sed.info, oricare din diversele cărți despre
sed, FAQ sed (http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
http://sed.sf.net/grabbag/.
Documentația completă pentru sed este
menținută ca un manual Texinfo. Dacă programele
info(1) și sed sunt instalate corect pe sistemul
dumneavoastră, comanda
- info sed
ar trebui să vă permită accesul la manualul
complet.
Traducerea în limba română a acestui manual a
fost creată de Laurențiu Buzdugan <lbuz@rolix.org>,
Florentina Mușat <florentina.musat.28@gmail.com> și
Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă Nicio RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.