Sed - Sfaturi și trucuri

Sed, sau Stream Editor, așa cum este cunoscut, este utilizat în principal pentru analizarea textului și transformarea oricărui text într-un script. Această caracteristică a Sed este folosită în scripturile Shell pentru a genera coduri flexibile și dinamice. Cunoscând sfaturile și trucurile comune, utilizatorii pot optimiza codurile în mare măsură. Se pot face transformări personalizate ale textului, cum ar fi înlocuirea unui text cu altul în funcție de numărul de apariții, afișarea liniilor specifice și eliminarea spațiilor sau a spațiilor libere. De asemenea, puteți folosi sfaturi și trucuri pentru diverse articole, cum ar fi îmbinarea mai multor linii sau înlocuirea unor caractere speciale din anumite linii.

= [Sed] Sfaturi și trucuri

Substituţie

Înlocuiți "foo" cu "bar" pe fiecare linie

Numai prima apariție

sed 's / foo / bar /'

Numai pentru al treilea caz

sed 's / foo / bar / 3'

Toate aparițiile

sed "/ foo / bar / g"

Chiar înainte de ultima întâmplare

(\ * foo \) / \ 1bar \ 2 / '\'

Doar ultimul caz

sed 's / \ (. *) foo / \ 1bar /'

Înlocuiți "foo" cu linii "bare" care conțin numai "plop"

sed '/ plop / s / foo / bar / g'

Înlocuitorul "foo" cu "bar", cu excepția liniilor care conțin "plop"

sed '/ plop /! s / foo / bar / g "

Înlocuiți "Foo" sau "foo" cu "bar" pe fiecare rând

sed 's / [Ff] oo / bar / g'

Înlocuiți "albastru" sau "alb" sau "roșu" cu "verde"

sed / albastru \ | gol \ | roșu / verde / g '

Afişa

Prima linie (cap -1)

sed q

Primele 5 linii (cap -5)

sed'5 q '

sed'1, 5! d '

Ultima linie (coada -1)

sed-n '$ p'

sed '$! d "

Ultimele 5 linii (coada -5)

sed-e: ae '$ q, N, 6, $ D; ba“

Cele două linii de ultimul (coada -2)

sed '$! N; $! D“

Numai linii corespund unui motiv sau unei expresii regulate

sed-n '/ model / p'

sed '/ regexp /! d“

Doar liniile care nu corespund unui motiv sau unei expresii regulate

sed-n '/ model /! p“

sed '/ regexp / d'

Linia care precede un model sau o expresie regulată

sed-n '/ model / (g; lp;) h'

Linia care urmează unui model sau unei expresii regulate

sed-n '/ regexp / (n, p;)'

Elimina

=== Spațiu și fila ==

Eliminarea spațiilor și a filelor

La începutul liniei

sed 's / ^ [\ t] * /

sed 's / ^ \ s * / /' Folosind parametrul "\ s"

La sfârșitul liniei

sed 's / [\ t] * $ //'

La începutul și la sfârșitul liniei

sed 's / ^ [\ t] * /; s / [\ t] * $ // '

Linie goală

Eliminarea liniilor goale

Toate liniile goale

sed '/ ^ $ / din

SED "/./! de

Doar cei din vârf

SED '/./, $! de

sed-nr '/./, $/(.*)/ s \ 1 / p' # vă mulțumesc Adrien

Numai cei de la capăt

sed-e: ae '/ ^ \ n * $ / ($ d N; ba'-e') '

Intervale regulate

Eliminați o linie la intervale regulate

Toate perechile de linii

sed'1 ~ 2d '

Toate liniile ciudate

sed'2 ~ 2d '

Fiecare n de la linia n

sed'3 ~ 2d '# 2 Toate liniile de la linia 3

Diverse

Alăturați linii

Atașați linii 2 pe 2

sed '$! N s / \ n / / '

Atașați cele 3 linii cu 3

sed '$! N s / \ n //; $! N s / \ n /;; '

Dacă o linie se termină cu un backslash (\), adăugați următoarea linie și înlocuiți capătul liniei (\ n) cu un spațiu

sed-e: ae '/ \ \ $ / N s / \ \ \ n / /; ta“

Dacă o linie începe cu un semn egal (=), adăugați-o la linia anterioară și înlocuiți semnul egal (=) cu un spațiu

sed-e: ae '$! N s / \ n = / /; ta'-e 'P, D'

Articolul Precedent Articolul Următor

Cele Mai Importante Sfaturi