Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: GdH 19 Srpna 2009, 21:37:11

Název: Nežádoucí zalamování řádků při zpracování textu v bashi [vyřešeno]
Přispěvatel: GdH 19 Srpna 2009, 21:37:11
Ahoj, potřebuji zpracovat nějaké výstupy konkrétně z nvidia-settings a problém je ten, že se výstup automaticky zalamuje po 70 znacích při spuštění klikátkem a pokud spustím příkaz z terminálu, pak se zalamuje podle šíře okna i když to netisknu, ale posílám rovnou na další zpracování rourou. Takže se nadá strojově vyhledat potřebná informace, protože to může pokaždé vypadat jinak. Dá se to nějak obejít?
Název: Re: Nežádoucí zalamování řádků při zpracování textu v bashi
Přispěvatel: picard 19 Srpna 2009, 22:16:58
Já bych si výstupní text znak po znaku dával do nějaké proměnné či pole apod. dle konkrétní situace a znak zalamování bych vynechával bez ohledu na to, kde se vyskytuje.
Nakonec bych si to zformátoval dle svých požadavků doplněním zalamování
Název: Re: Nežádoucí zalamování řádků při zpracování textu v bashi
Přispěvatel: GdH 19 Srpna 2009, 22:37:55
Jde o to, že ten výstup má nějakých 6 řádků, já musím vybrat jeden konkrétní a vím, že na jedo konci je to, co potřebuji. Když se mi to takhle rozhází, je to na prd. A i když vím, po kolika znacích to bude prznit a dokážu to do toho zahrnout, stejně to zbytečně prodlužuje kód a stejně to nebude fungovat, když to spustím z užšího terminálového okna. Chci příkaz, který řekne bashi, že pro následující kód má počítat s xx znaky na řádek :)
Název: Re: Nežádoucí zalamování řádků při zpracování textu v bashi
Přispěvatel: nettezzaumana 20 Srpna 2009, 14:53:15
to neni mozne .. ukaz jak to vypada a co to rika.

to by znamenalo, ze treba tohle by ti napsalo jiny vystup nez 1
Kód: [Vybrat]
$ perl -e 'print int rand 10 for(1..200); print "\n"' | wc -l
       1
Název: Re: Nežádoucí zalamování řádků při zpracování textu v bashi
Přispěvatel: GdH 20 Srpna 2009, 15:42:12
to neni mozne .. ukaz jak to vypada a co to rika.

to by znamenalo, ze treba tohle by ti napsalo jiny vystup nez 1
Kód: [Vybrat]
$ perl -e 'print int rand 10 for(1..200); print "\n"' | wc -l
       1

Neznamenalo. Ten problém se týká konkrétní aplikace, která je zjevně prudce inteligentní a výstup předává předformátovaný podle délky řádku terminálu.
Název: Re: Nežádoucí zalamování řádků při zpracování textu v bashi
Přispěvatel: Peterx 20 Srpna 2009, 16:29:36
Mozno napisem hlupost, ale co tak vystup smerovat do textoveho suboru?
Tam bude mat riadok stale rovnaku velkost.
Název: Re: Nežádoucí zalamování řádků při zpracování textu v bashi
Přispěvatel: GdH 20 Srpna 2009, 18:25:45
Tak řešení jsem měl celou dobu pod nosem, jak už to na linuxu často bývá. Zmiňovaná aplikace toho umí trochu víc, než jen zalamovat delší řádky, ona totiž umí dodat rovnou jen tu informaci, kterou potřebuji, bez omáčky okolo, stačí přidat přepínač -t. Na druhou stranu jsem se díky své nepozornosti naučil a dozvěděl spoustu nových věcí :)