Sed - Tipy a triky
= [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'