abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 17:02 | Pozvánky

Přijďte si popovídat o open source obecně a openSUSE konkrétně s dalšími uživateli a vývojáři. Oslava nového vydání openSUSE Leap se uskuteční 16. prosince od 17:00 v nových prostorách firmy SUSE v Praze. K dispozici bude nějaké občerstvení a DVD pro ty, kdo je sbírají nebo ještě mají mechaniku. Po párty v kanceláři se bude pokračovat v některé z hospod v okolí.

Miška | Komentářů: 7
včera 14:55 | Zajímavý software

Byla vydána verze Alpha 1.0 otevřeného operačního systému pro chytré hodinky AsteroidOS. Podporovány jsou hodinky LG G Watch, LG G Watch Urbane, Asus ZenWatch 2 a Sony Smartwatch 3. Ukázka ovládání hodinek na YouTube. Jaroslav Řezník přednášel o AsteroidOS na chytrých hodinkách (videozáznam) na letošní konferenci OpenAlt.

Ladislav Hagara | Komentářů: 0
včera 13:30 | Zajímavý software

Byly uvolněny zdrojové kódy známé rogue-like hry DoomRL. Počátky hry jsou v roce 2002. Je napsána ve FreePascalu a zdrojový kód je nyní k dispozici na GitHubu pod licencí GNU GPL 2.0. Autor pracuje na nové hře Jupiter Hell, která je moderním nástupcem DoomRL a na jejíž vývoj shání peníze prostřednictvím Kickstarteru.

Blaazen | Komentářů: 0
včera 13:15 | Pozvánky

Přijďte s námi oslavit vydání Fedory 25. Na programu budou přednášky o novinkách, diskuse, neřízený networking atd. Release Party se bude konat 16. prosince v prostorách společnosti Etnetera. Na party budou volně k dispozici také propagační materiály, nová DVD s Fedorou 25 a samozřejmě občerstvení. Přednášky budou probíhat v češtině. Pro více informací se můžete podívat na web MojeFedora.cz. Jen připomínám, že tentokrát jsme zavedli

… více »
frantisekz | Komentářů: 0
9.12. 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
9.12. 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 4
9.12. 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

Ladislav Hagara | Komentářů: 0
9.12. 01:02 | Zajímavý článek

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (23%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 810 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jak vypsat 200x mezeru pomocí printf v bash?

16.10.2012 00:33 Jarda
Jak vypsat 200x mezeru pomocí printf v bash?
Přečteno: 677×
Ahoj, poradí někdo jak vypsat 200x mezeru pomocí printf v bash ? Děkuji

Řešení dotazu:


Odpovědi

Řešení 2× (Vojtěch Horký, jka)
16.10.2012 01:26 l4m4
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
printf %200s ''
Teď je ale začátek semestru. Co všichni blbnete s těmi domácími úlohami?
16.10.2012 02:35 Jarda
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Úkol?

Škoda že ti to nefunguje :-(
16.10.2012 05:20 Kit
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Funguje.
16.10.2012 08:48 jka | skóre: 10
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Pokud to není jen chyba zobrazení, tak tam chybí jeden znak, takže to při bezmyšlenkovitém zkopírování fakt nefunguje :)

Ale stačí dát v BASHi help printf, zjistit si, co ten příkaz příkaz dělá a určitě si to tazatel zvládne spravit.
16.10.2012 09:11 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Žádný znak tam nechybí.
16.10.2012 09:26 Jirka
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Zrejme meli na mysli verzi opravdu obsahujici mezeru mezi uvozovkami ' ', takhle rikas aby 200x vytiskl prazdny string, coz tedy shodou okolnosti je take mezera.
16.10.2012 10:01 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
takhle rikas aby 200x vytiskl prazdny string
Tohle - stejně jako v kterémkoliv jazyce s rozumnou podporou printf - znamená, vytiskni následující parametr jako řetězec a zarovnej ho na 200 znaků. A zarovnává se mezerami.
prazdny string, coz tedy shodou okolnosti je take mezera
Není.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
16.10.2012 11:05 chrono
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Nie sú tam tie prázdne úvodzovky zbytočné? (pretože ak si dobre spomínam, tak napr. Bash niečo také ignoruje a ten printf bude fungovať aj bez nich)
16.10.2012 11:06 chrono
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Teda presnejšie, bude fungovať v tomto konkrétnom prípade.
16.10.2012 11:11 chrono
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Tak som to otestoval a Bash, aspoň ten, čo mám momentálne nainštalovaný, s tým už problém nemá.
16.10.2012 11:22 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
pretože ak si dobre spomínam, tak napr. Bash niečo také ignoruje

Neignoruje. Je podstatný rozdíl mezi tím, jestli příkazu nepředáte žádný parametr nebo jestli mu jako parametr předáte prázdný řetězec. Zkuste si třeba

  ls -l
  ls -l ''

To, že to u příkazu printf funguje, je možné jen díky

If the format requires more arguments than are supplied, the extra format specifications behave as if a zero value or null string, as appropriate, had been supplied.

Ale stejně doporučuji si na takové triky nezvykat. Kdybyste totéž zkusil s knihovní funkcí printf(), nedopadne to dobře.

19.10.2012 10:58 Jarda
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
A pokud tohle vypisuje mezery
printf %200s ''
proč tohle nevypíše 200x x?
printf %200s 'x'
Dík
19.10.2012 11:08 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Je na čase, abyste si konečně přečetl (a) odpověď Vojtěcha Horkého z 16.10. 10:01 nebo (b) dokumentaci k příkazu printf. Nejlépe oboje.
19.10.2012 12:51 l4m4
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Protože podle specifikace to nemá vypsat dvěstěkrát x, ale 199 mezer a jedno x. Což je přesně to, co to dělá.
19.10.2012 12:59 Jarda
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Protože podle specifikace to nemá vypsat dvěstěkrát x, ale 199 mezer a jedno x. Což je přesně to, co to dělá.
Díky za objasnění, aha poradíte jak vypišu 200x "x" ?
19.10.2012 13:13 l4m4
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Na to, jak se vypíše N-krát nějaký znak, jsi snad už dostal odpověď tady:

http://www.abclinuxu.cz/poradna/linux/show/367347

Jinak 200 znaků x se pomocí printf vypíše samozřejmě
printf %s xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
a časem se možná dozvíme, co potřebuješ doopravdy...
24.10.2012 23:53 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Co asi, zapocet.
If you hold a Unix shell up to your ear, you can you hear the C.
24.10.2012 21:36 Jarda
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Tak jako fakt nikdo neporadí jak vypsat pomocí printf 200x nějaký znak třeba 'x'? Díky
24.10.2012 21:54 l4m4
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Odpověď máš zde:

http://www.abclinuxu.cz/poradna/linux/show/367430#16

Použije se printf a vypíše to 200krát znak x. Zadání to tedy zcela vyhovuje. Když strikně požaduješ, aby se pro řešení špatně definovaného problému použil nevhodný nástroj, dostaneš v nejlepším případě pitomá řešení, co asi tak jiného čekáš?

Ale když jinak nedáš, vezmi mou hned první odpověď a výstup prožeň přes tr(1), kterým si mezeru můžeš nahradit, za co chceš.
24.10.2012 22:09 Jarda
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Tak asi jsem slepý, žádné řešení za použití prontf nikde napsáno není.
24.10.2012 23:51 l4m4
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
To printf tam opravdu lze přehlédnout jen stěží. Celé řešení má 16 znaků včetně mezer, takže slovo printf z něj samo tvoří 37,5%. Navíc jím to řešení začíná, což vylučuje, že by se někde schovalo v následující komplikované části (tedy zbývajících 10 znacích).

Takže šup, šup, a číst těch 16 znaků v prvním komentáři pořád dokola, dokud si v nich toho printf nevšimneš...
24.10.2012 22:25 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?

Ale je, jen to není odpověď na to, co jste se chtěl vědět, ale na to, na co jste se zeptal. Což je ostatně dobrý trénink pro programování, protože počítače také nedělají to, co po nich chcete, ale to, o co si jim řeknete. :-)

Upřímně řečeno, pokud se na takovou věc potřebujete ptát a nedokážete napsat cyklus, který dvěstěkrát vypíše "x", měl byste se vážně zamyslet nad tím, jestli se opravdu chcete věnovat programování.

24.10.2012 22:57 Jarda
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
No cyklem zvládnu napsat "x" i 205x ;-) to ale neřeší můj problém, jelikož to chci napsat jen pomocí printf a bez cyklu while until či for :-D Na druhou stranu to není porvé co jsem si všiml, že 99% programátorů raději napíšou program na 10 řádků i když existuje možnost jej napsat na řádky 1-2. Zajímalo by mě ale opravdu jak se v tom dokážete orientovat, já mám problém s orientací už i při 200 řádcích kódu a to mám už nastaven odskok tabulátoru na 20 znaků :-(
24.10.2012 23:54 l4m4
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Že 99% programátorů raději napíše program raději na deset řádků normální o střední délce okolo 50 znaků, než by to smatlali na jeden 500znakový, svědčí o tom, že mají alespoň trochu zdravého rozumu.
25.10.2012 00:30 Jarda
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
No ono to bylo myšleno ale zcela jinak, to co píšeš je samozřejmě nepřehledná p.č.vina

Nechápu ale to proč mám psát
REP=200

for (( i=0; i<$REP; i++ ))
do
     echo " "
done
když výsledek bude stejný
printf %200s ''
25.10.2012 01:25 l4m4
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
Máš to skoro dobře: to co ty čteš, jsou píčoviny, protože nějakým záhadným způsobem čteš vždycky něco jiného, než se tu píše.

Kvízová otázka č. 1: Co se píše v úplně prvním komentáři úplně nahoře? To je ten úplně první úplně nahoře, kdybys ho nemohl najít.

Kvízová otázka č. 2: Kdo ten komentář napsal?

Kvízová otázka č. 3: Kdy bylo tedy zodpovězeno, to na co ses ptal v dotazu?

Budeš-li ignorovat, co se lidi snaží poradit, neustále měnit zadání a stěžovat si, že uvedená řešení nevyhovují nějakým tajemným podmínkám, o kterých nikdo netuší, protože se je neobtěžuješ zmínit, tak se těžko dobereš řešení.
Nechápu ale to proč mám psát...
Není asi třeba speciálně zdůrazňovat, že nechápeš, vyplývá to z průběhu diskuse. A vlastně nečekám, že to pochopíš tentokrát, ale zkusme to...

Chápeš, že každé to řešení, které jsi tu teď uvedl (první s chybou, tedy bez -n u echo), dělá něco úplně jiného?

Chápeš, že jedno využívá cyklus, takže dvěstěkrát něco provede a lze ho snadno změnit na cyklus, který dvěstěkrát udělá něco jiného?

Chápeš, že druhé využívá určitou speciální vlastnost printf, tedy doplnění výsledku mezerami (ničím jiným) na uvdedenou délku?

Chápeš, že příkaz
printf '                                                                                                                                                                                                        '
přesně vyhovuje tvému zadání vypsat 200 mezer pomocí printf?

Chápeš, že když nesplňuje nějakou jinou důležitou podmínku, tak je nutné ji napsat?

Chápeš, že ‚udělat foo pomocí printf‘ lze milionem způsobů?

Chápeš, že nikdo neví, o co ti jde, protože jsi to zatím nenapsal?
25.10.2012 00:44 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
jelikož to chci napsat jen pomocí printf a bez cyklu while until či for

Chttít můžete. To, že něco chcete, neznamená, že všichni na povel začneme vymýšlet nějaké absurdity jako je ta, kterou napsal o něco níže Jirka…

25.10.2012 00:34 Jirka
Rozbalit Rozbalit vše Re: Jak vypsat 200x mezeru pomocí printf v bash?
A co takhle:
printf 'x%.0s' {1..200}

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.