Сед - Типс анд трицкс

Сед, или Стреам Едитор, као што је уобичајено познат, углавном се користи за парсирање текста и трансформисање било ког текста унутар скрипте. Ова особина Седа се користи у Схелл скриптама за генерисање флексибилних и динамичких кодова. Познавање уобичајених савјета и трикова може помоћи корисницима да у великој мјери оптимизирају своје кодове. Могуће је извршити прилагођене трансформације текста, као што је замјена једног текста с другим на основу броја појављивања, приказивање одређених линија и уклањање размака или празнина. Такође се могу користити савети и трикови за разне ствари, као што је спајање више линија или замена специјалних знакова из одређених линија.

= [Сед] Савети и трикови

Замена

Замените "фоо" са "бар" на свакој линији

Само први пут

сед 'с / фоо / бар /'

Само за трећи случај

сед 'с / фоо / бар / 3'

Све појаве

сед 'с / фоо / бар / г'

Непосредно пре последњег догађаја

сед 'с / (. * фоо (. * фоо) / 1бар \ т

Само последњи случај

сед 'с / (. * фоо / 1бар /'

Замените "фоо" са "бар" само линије које садрже "плоп"

сед '/ плоп / с / фоо / бар / г'

Замените "фоо" са "бар" осим редова који садрже "плоп"

сед '/ плоп /! с / фоо / бар / г '

Замените "Фоо" или "фоо" са "бар" на свакој линији

сед 'с / [Фф] оо / бар / г'

Замените "плаво" или "бело" или "црвено" са "зелено"

сед 'с / блуе \ т празно | црвено / зелено / г '

Приказ

Прва линија (глава -1)

сед к

Првих 5 линија (глава -5)

сед'5 к '

сед'1, 5! д '

Последњи ред (реп -1)

сед-н '$ п'

сед '$! д "

Последњих 5 линија (реп -5)

сед-е: ае '$ к, Н, 6, $ Д; ба '

2 последње линије (реп -2)

сед '$! Н; $! Д '

Само линије одговарају разлогу или регуларном изразу

сед-н '/ паттерн / п'

сед '/ регекп /! д '

Само линије које се не подударају са разлогом или регуларним изразом

сед-н '/ паттерн /! п '

сед '/ регекп / д'

Линија која претходи узорку или регуларном изразу

сед-н '/ паттерн / (г; 1! п;) х'

Линија која следи узорак или регуларни израз

сед-н '/ регекп / (н, п;)'

Уклони

=== Простор и таб ==

Уклањање размака и картица

На почетку реда

сед 'с / ^ [\ т

сед 'с / ^ * / /' # Користећи параметар "\ т

На крају реда

сед 'с / [\ т

На почетку и на крају линије

сед 'с / ^ [\ т с / [\ т

Празна линија

Уклањање празних редова

Све празне линије

сед '/ ^ $ / оф

сед '/./! оф

Само они на врху

сед '/./, $! оф

сед-нр '/./, $ /(.*)/ с 1 / п' # хвала ти Адриен

Само они на крају

сед-е: ае '/ ^ н * $ / ($ д Н; ба'-е') '

Регуларни интервали

Уклоните линију у редовним интервалима

Све линије се повезују

сед'1 ~ 2д '

Све чудне линије

сед'2 ~ 2д '

Свака н линија од линије н

сед'3 ~ 2д '# 2 Све линије из линије 3

Остало

Јоин линес

Приложите линије 2 са 2

сед '$! Н с / \ т

Причврстите 3 линије по 3

сед '$! Н с / \ т Н с / \ т

Ако се линија завршава обрнутом косом цртом (\ _), додајте следећу линију и замените крај линије (\ т

сед-е: ае '/ \ т та '

Ако линија почиње знаком једнакости (=), додајте је у претходни ред и замијените знак једнакости (=) размаком

сед-е: ае '$! Н с / н = / /; та'-е 'П, Д'

Претходни Чланак Sledeći Чланак

Топ Савети