Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Nežádoucí zalamování řádků při zpracování textu v bashi [vyřešeno]  (Přečteno 2447 krát)

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
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?
« Poslední změna: 20 Srpna 2009, 22:39:26 od kiklhorn »

picard

  • Stálý člen
  • **
  • Příspěvků: 563
Re: Nežádoucí zalamování řádků při zpracování textu v bashi
« Odpověď #1 kdy: 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í

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Nežádoucí zalamování řádků při zpracování textu v bashi
« Odpověď #2 kdy: 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 :)

nettezzaumana

  • Host
Re: Nežádoucí zalamování řádků při zpracování textu v bashi
« Odpověď #3 kdy: 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

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Nežádoucí zalamování řádků při zpracování textu v bashi
« Odpověď #4 kdy: 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.

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: Nežádoucí zalamování řádků při zpracování textu v bashi
« Odpověď #5 kdy: 20 Srpna 2009, 16:29:36 »
Mozno napisem hlupost, ale co tak vystup smerovat do textoveho suboru?
Tam bude mat riadok stale rovnaku velkost.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Nežádoucí zalamování řádků při zpracování textu v bashi
« Odpověď #6 kdy: 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í :)

 

Provoz zaštiťuje spolek OpenAlt.