table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
SED(1) | Comenzi utilizator | SED(1) |
NUME¶
sed - editor de flux pentru filtrarea și transformarea textului
REZUMAT¶
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=script-file]
[script-if-no-other-script]
[file...]
DESCRIERE¶
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 editări scriptate (precum ed), sed funcționează făcând doar o singură trecere peste intrare(ări), ș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ă tipărirea automată a spațiului de model
--debug
- adnotează execuția programului
-e script, --expression=script
- adaugă scriptul la comenzile de executat
-f script-file, --file=script-file
- adaugă conținutul fișierului script la comenzile de executat
--follow-symlinks
- urmărește legăturile simbolice când se procesează pe loc
-i[SUFIX], --in-place[=SUFIX]
- editează fișierele pe loc (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
- deactivează toate extensiile GNU.
-E, -r, --regexp-extended
- utilizează expresii regulare 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ă o cantitate minimă de date din fişierele de intrare şi goleşte memoriile temporare mai des
-z, --null-data
- separă liniile după caractere NUL
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.
GNU sed pagină principală: <https://www.gnu.org/software/sed/>. Ajutor general utilizând software GNU: <https://www.gnu.org/gethelp/>. Trimiteți email cu rapoartele de defecțiuni la: <bug-sed@gnu.org>.
Packaged by Debian Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
COMANDĂ REZUMAT¶
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” de adresă zero¶
- : label
- Etichetă pentru comenzile b și t.
- #comment
- Comentariul se extinde până la următoarea linie nouă (sau sfărșitul unui fragment de script -e).
- }
- Paranteza de închidere a unui bloc { }.
Comenzi de adresă zero sau unu¶
- =
- Tipărește numărul de linie curentă.
- a \
- text
- Adaugă text, care are fiecare linie nouă încorporată precedată de o linie oblică inversă.
- i \
- text
- Introduce text, care are fiecare linie nouă încorporată precedată de o linie oblică inversă.
- q [exit-code]
- Ieși imediat din scriptul sed fără a mai procesa intrări, cu excepția faptului că dacă auto-tipărirea nu este dezactivată spațiul de model curent va fi tipărit. Argumentul de cod de ieșire este o extensie GNU.
- Q [exit-code]
- Ieși imediat din scriptul sed fără a mai procesa intrări. Aceasta este o extensie GNU.
- r filename
- Adaugă text citit de la filename.
- R filename
- Adaugă o linie citită de la filename. Fiecare invocare a comenzii citește o linie de la fișier. Aceasta este o extensie GNU.
Comenzi care acceptă intervale de adresă¶
- {
- Începe un bloc de comenzi (termină cu o }).
- b eticheta
- Bifurcă la label; dacă label este omis, bifurcă la sfărșitul scriptului.
- c \
- text
- Înlocuiește liniile selectate cu text, care are fiecare linie nouă încorporată precedată de o linie 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ă/adaugă spațiul model pentru a ține spațiu.
- g G
- Copiază/adaugă spațiu de ținere la spațiu 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ă”, împărțind-o la caractere width. Aceasta este o extensie GNU.
- n N
- Citește/adaugă următoarea linie de intrare în spațiul de model.
- p
- Tipărește spațiul de model curent.
- P
- Tipărește până la prima linie nouă încorporată a spațiului de model curent.
- s/regexp/replacement/
- Încearcă să potrivești regexp împotriva spațiului model. Dacă este cu succes, înlocuiește acea porțiune potrivită cu replacement. replacement poate să conțină caracterul special & pentru a face referire la acea porțiune a spațiului model care s-a potrivit, și eludările speciale \1 până la \9 să facă referire la sub-expresiile potrivite corespunzătoare în regexp.
- t eticheta
- Dacă un s// 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 bifurcă la label; dacă labeleste omis, bifurcă la sfărșitul scriptului.
- T eticheta
- Dacă niciun s/// 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 bifurcă la label; dacă label este omis, bifurcă la sfârșitul scriptului. Aceasta este o extensie GNU.
- w nume de fișier
- Scrie spațiul de model curent la filename.
- W nume de fișier
- Scrie prima linie a spațiului model curent la filename. Aceasta este o extensie GNU.
- x
- Schimbă conținutul spațiilor model și de ținere.
- y/sursă/destinaţie/
- Transliterează caracterele din spațiul model care apar în source la caracterul corespunzător din dest.
Adrese¶
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 addr1,addr2 (adică adresele sunt separate printr-o virgulă); linia care a potrivit addr1 va fi întotdeauna acceptată, chiar dacă addr2 selectează o linie anterioară; și dacă addr2 este o regexp, nu va fi testată împotriva liniei care a potrivit addr1.
După adresa (sau intervalul de adresă), și înainte de comandă, un ! poate fi introdusă, car specifică faptul că comanda va fi executată doar dacă adresa (sau intervalul de adresă) not se potrivește.
Următoarele tipuri de adresă sunt suportate:
- number
- Potrivește doar number de linie specificat (care incrementează cumulativ peste fișier, doar dacă opțiunea -s este specificată în linia de comandă).
- first~step
- Potrivește fiecare a step linie care începe cu linia first. De exemplu, „sed -n 1~2p” va tipări toate liniile numerotate impar în fluxul de intrare, și adresa 2~5 va potrivi fiecare a cincea linie, începând cu a doua. first poate fi zero; în acest caz, sed operează ca și cum ar fi egal cu step. (Aceasta este o extensie.)
- $
- Potrivește ultima linie.
- /regexp/
- Potrivește liniile care se potrivesc cu expresiile regulare regexp. Potrivirea este executată pe spațiul de model curent, care poate fi modificat cu comenzi precum „s///”.
- \cregexpc
- Potrivește liniile care se potrivesc expresiei regulare regexp. c poate fi orice caracter.
sed GNU suportă de asemenea unele forme de adresă-2 speciale:
- 0,adr2
- Începe în starea „potrivit prima adresă”, până când addr2 este găsit. Acest lucru este similar cu 1,addr2, cu excepția faptului că dacă addr2 se potrivește primei linii de intrare forma 0,addr2 va fi la sfârșitul intervalului acesteia, în timp ce forma 1,addr2 va fi încă la începutul intervalului acesteia. Acest lucru funcționează când addr2 este o expresie regulară.
- adr1,+N
- Va potrivi addr1 și liniile N care urmează după addr1.
- adr1,~N
- Va potrivi addr1 și liniile care urmează după addr1 până la următoarea linie al cărei număr de linie de intrare este un multiplu de N.
EXPRESII REGULARE¶
POSIX.2 BRE-urile should să fie suportate, dar nu sunt suportate complet din cauza problemelor de performanță. Secvența \n într-o expresie regulară se potrivește caracterului de linie nouă, și similar pentru \a, \t, și alte sevențe. Opțiunea -E comută la utilizarea expresiilor regulare extinse în schimb; a fost suportat ani de sed GNU, și este acum inclus în POSIX.
ERORI NEPREVĂZUTE¶
Trimiteți prin e-mail raporturile de defecțiuni la bug-sed@gnu.org. De asemenea, includeți ieșirea a „sed --version” în corpul raportului dacă este posibil.
AUTOR¶
Scris de Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering, și Assaf Gordon.
This sed program was built with SELinux support. SELinux is disabled on this system.
GNU sed pagină principală: <https://www.gnu.org/software/sed/>. Ajutor general utilizând software GNU: <https://www.gnu.org/gethelp/>. Trimiteți email cu rapoartele de defecțiuni la: <bug-sed@gnu.org>.
VEDEȚI ȘI¶
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.
TRADUCERE¶
Traducerea în limba română a acestui manual a fost creată de Laurențiu Buzdugan <lbuz@rolix.org> și Florentina Mușat <florentina.musat.28@gmail.com>
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.
Ianuarie 2023 | GNU sed 4.9 |