Na konferenci InstallFest 2016 jsem měl přednášku „bash a zpracování textů“. Konference se konala opět první víkend v březnu. Tentokrát jsem tedy opět povídal o shellu. Díky záznamu Strahovského AVC se můžete na přednášku podívat, nebo si ji jenom prohlédnout na webu.
Při skriptování v shellu je často potřeba pracovat s řetězci. K tomu se běžně používají nástroje jako tr, grep, sed nebo awk. Sám bash má však spoustu možností, jak s řetězci pracovat přímo, bez nutnosti volání externích nástrojů. Tato přednáška představuje vestavěné konstrukce shellu pro nejčastější textové operace a transformace. Výhodou těchto konstrukcí je, že jsou obvykle rychlejší a snadněji přístupné. Odpadají problémy s předáváním vstupů a výstupů a je možné použít proměnné shellu.
Přednáška je tvořena jenom jedním obrázkem ve formátu SVG. Prezentaci jednotlivých částí zajišťuje webový prohlížeč, který interpretuje JavaScript uvnitř obrázku. K dispozici je kromě verze v SVG také verze v PDF (např. pro tisk).
Obsah přednášky
Odkazy vedou na příslušný slide prezentace a na čas ve videu, kde část začíná. Někdy je téma přes několik slidů. Pohyb po slidech je buď pomocí klikání myší, šipkami nebo klávesami PgUp a PgDown. Prostřední tlačítko na slidech vyvolá menu s obsahem.
- Intro
00:00:00 - Why (not)?
00:00:55 - Variables (Named Parameters)
00:09:21 - Here-Document and Here-Word
00:17:39 - read Command
00:22:36 - lastpipe Shell Option
00:30:47 - Test of Variable Value
00:33:04 - Extended Pattern Matching
00:34:04 [[Compound Command and Regular Expressions00:36:50- Variable Substitution
00:39:46- Simple Text Transformations
00:39:46 - Get Last/First Item
00:41:04 - Trim
00:41:04 - Substituting Filter
00:42:39 - Get Last Character from Variable
00:42:39 - Serialize Lines (v přednášce nezaznělo)
- Change Case (v přednášce nezaznělo)
- Simple Text Transformations
- Arrays (v přednášce nezaznělo)
- (Auto)indexed Arrays (v přednášce nezaznělo)
- Associative Arrays (v přednášce nezaznělo)
- mapfile Command (v přednášce nezaznělo)
Na poslední části (Serialize Lines, Change Case, pole a příkaz mapfile)
už v přednášce nezbyl čas, najdete je jen ve slidech.