====== Sed: jak nahradit konce řádků ====== Dneska migruji jednu databázi z MySQL do Oracle přes CSV soubory pomocí oraklovského nástroje SQL*Loader. V CSV souborech je několik nečistot, které jsem musel odstranit a jedna taková specialitka. SQL*Loader neumí (resp. já nevím jak to nastavit) načíst textové hodnoty obsahující zařádkování. Takže je potřebuju vyházet, jenže MySQL při exportu do CSV dělá zařádkování jako **\LF** (tedy lomítko a zařádkování). Sedem jsem se toho nemohl zbavit -- protože pracuje implicitně //po řádcích//. Ten magický příkaz nahrazení dané kombinace mezerou (a spojením řádků v jeden) tedy je (tuhle magii jsem vygooglil a netuším, proč to funguje): # sed -e :a -e '$!N;s/\\\n/ /;ta' -e 'P;D' {{tag>linux}} ~~DISCUSSION~~