Sed - Tipy a triky

Sed, alebo Stream Editor, ako je všeobecne známe, sa používa hlavne na analýzu textu a transformáciu akéhokoľvek textu v skripte. Táto funkcia systému Sed sa používa v skriptoch Shell na vytváranie flexibilných a dynamických kódov. Poznať spoločné tipy a triky môže pomôcť používateľom vo veľkej miere optimalizovať svoje kódy. Môžeme robiť vlastné transformácie textu, ako je nahradenie jedného textu iným na základe počtu výskytov, zobrazenie konkrétnych riadkov a odstránenie medzier alebo medzier. Môžete tiež použiť tipy a triky pre rôzne položky, ako je spojenie viacerých riadkov alebo nahradenie špeciálnych znakov z určitých riadkov.

= [Sed] Tipy a triky

zámena

Nahraďte "foo" znakom "bar" na každom riadku

Iba prvý výskyt

sed 's / foo / bar /'

Iba pre tretí prípad

sed 's / foo / bar / 3'

Všetky výskyty

sed 's / foo / bar / g'

Tesne pred posledným výskytom

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

Iba posledný prípad

sed 's / (. *) foo / \ t

Nahradiť "foo" s "bar" len riadky obsahujúce "plop"

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

Náhradník "foo" s "bar" okrem riadkov obsahujúcich "plop"

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

Nahraďte "Foo" alebo "foo" za "bar" na každom riadku

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

Nahraďte výraz „modrý“ alebo „biely“ alebo „červený“ výrazom „zelený“

sed 's / blue \ t prázdne červená / zelená / g '

zobraziť

Prvý riadok (hlava -1)

sed q

Prvých 5 riadkov (hlava -5)

sed'5 q '

sed'1, 5! d '

Posledný riadok (chvost -1)

sed-n '$ p'

sed '$! d "

Posledných 5 riadkov (chvost -5)

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

Posledné dva riadky (chvost -2)

sed '$! N; $! D '

Iba riadky sa zhodujú s dôvodom alebo regulárnym výrazom

sed-n '/ vzor / p'

sed '/ regexp /! d '

Iba riadky, ktoré nie sú dôvodom alebo regulárnym výrazom

sed-n '/ vzor /! p '

sed '/ regexp / d'

Riadok pred vzorom alebo regulárnym výrazom

sed-n '/ vzor / (g; 1! p;) h'

Riadok nasledujúci vzor alebo regulárny výraz

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

odstrániť

=== Priestor a karta ==

Odstránenie medzier a kariet

Na začiatku riadku

sed 's / ^ [*]

sed 's / ^ s * / /' # Pomocou parametra "s"

Na konci riadku

sed 's / [] \ t

Na začiatku a konci riadku

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

Prázdny riadok

Odstránenie prázdnych riadkov

Všetky prázdne riadky

sed '/ ^ $ / of

sed '/./! z

Iba tie na vrchole

sed '/./, $! z

sed-nr '/./, $ /(.*)/ s 1 / p' # ďakujem Adrien

Iba tí na konci

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

Pravidelné intervaly

Odstráňte riadok v pravidelných intervaloch

Všetky páry riadkov

sed'1 ~ 2d '

Všetky nepárne riadky

sed'2 ~ 2d '

Každý n riadok z čiary n

sed'3 ~ 2d '# 2 Všetky riadky z riadku 3

Zmiešaný

Pripojiť riadky

Pripojiť riadky 2 po 2

sed '$! N s / \ t

Pripojiť 3 riadky o 3

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

Ak riadok končí spätným lomítkom (), pridajte nasledujúci riadok a nahradiť koniec riadka (n) medzerou

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

Ak riadok začína znakom rovnosti (=), pridajte ho do predchádzajúceho riadku a znak rovnosti (=) nahraďte medzerou

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

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy