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í
×
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 0
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 31
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 22
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 6
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 679 hlasů
 Komentářů: 61, poslední včera 13:06
Rozcestník

Dotaz: Jak na pevnou šířku v bashi

7.8.2012 19:19 MM
Jak na pevnou šířku v bashi
Přečteno: 275×
Jak můžu docílit něčeho takového?

funkce která má pevnou šířku
function prints {
 echo -en "[ $1                                                                ]"
}
mám texty o různých delkách
prints "dasdsadas  sa a asd as dasd a d"
výstup z příkazu
prints "dasad a dd aadasd a d"
výstup z příkazu
prints "dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d"
výstup z příkazu
a výsledek je pak
[ dasdsadas  sa a asd as dasd a d                                   ]
výstup z příkazu
[ dasad a dd aadasd a d                                             ]
výstup z příkazu
[ dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d        ]
výstup z příkazu
jenže následující text je na novém řádku a ne na konci, poztřebuji to takto, poradí někdo? Pokud to jde tak mimo použití cyklů s počítáním znaků a doplnováním mezer. ;-) Díky
[ dasdsadas  sa a asd as dasd a d                                   ] výstup z příkazu
[ dasad a dd aadasd a d                                             ] výstup z příkazu
[ dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d        ] výstup z příkazu

Řešení dotazu:


Odpovědi

7.8.2012 19:24 Sten
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
man console_codes sekce ECMA-48 CSI sequences
7.8.2012 19:25 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
printf
7.8.2012 19:29 Kit
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Použij program printf.
printf "[ %-60s ] " "dasad a dd aadasd a d"
7.8.2012 19:47 MM
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Nemůžu použít printf :-( výpisy jsou barevně označené, což mi printf neoumožní...
7.8.2012 19:56 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Proč ne? Cokoli protlačíte přes echo, protlačíte i přes printf (a často snáze).
7.8.2012 20:00 MM
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi

Aha, to mi nějak ušlo, vím, že jsem to kdysi zkoušel ale nešlo to.. tak to je fajn ;-)

7.8.2012 19:58 Kit
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
To si děláš srandu nebo s ním prostě neumíš?
7.8.2012 20:01 MM
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
nn, fakt mi to nešlo, ale jak to myslíš s tím číslem uvnitř? To si pro každý řádek nastavit podle počtu znaků v řetězci vypočítat jiné?
7.8.2012 20:05 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Chcete-li něco zarovnat na pevnou šířku, tak musíte vědět na jakou. Nebo si očekáváte, že příkaz nějakou černou magií nastaví šířku podle parametrů následujících příkazů (které se ještě neprováděly)?
7.8.2012 20:10 MM
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Ale to není vůbec pravda co píšete... navíc nevím co s tím mám společného nějaký příkaz ;-)
7.8.2012 20:13 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Tak podle čeho by se podle vás ta šířka měla určit, pokud ji nechcete zadat?
7.8.2012 20:23 MM
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Podle ničeho, třeba takto, pokud naplníte proměnnou AAA čímkoliv kratším než je první řádek s echem tak bude vždy znak "]" zarovnaný vpravo a nikde nic nepočítám ... jenže potřebujiá nasledujiící řádek vypsat za ten znak "]" a ne na nový řádek, nehledejme v tom nic slozitého ;)
AAA="aaa sd d ada dad adadsas"

echo -en "\r                                                                   ]"
echo -e "\r[ $AAA"
7.8.2012 20:33 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Začínám mít temné podezření, že jste se neobtěžoval si ani přečíst, co ten příkaz dělá, ale dokonce si to ani vyzkoušet.
7.8.2012 21:56 MM
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Ale obtěžoval, ale je to nepoužitelný, jelikož to vyhodnocuje jinak znaky s diakritikou jak bez ní :-( Což moc nechápu ale je to tak..
8.8.2012 01:43 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi

Hm, zdá se, že printf ignoruje locales. V tom případě třeba nějak takhle:

function align
{
    local s="$1"
    local w="$2"

    if [ "${#1}" -le "$w" ]; then
        printf "%s%*s" "$s" $[w-${#s}] ""
    else
        echo -n "${s:0:$w}"
    fi
}

Příště zkuste psát své příspěvky trochu srozumitelněji a hlavně konkrétněji. Z věty

To si pro každý řádek nastavit podle počtu znaků v řetězci vypočítat jiné?

by asi jen velmi zkušený jasnovidec poznal, že máte na mysli problémy se zarovnáním na předepsanou šířku, pokud řetězec obsahuje znaky s diakritikou…

8.8.2012 11:50 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Jsi dobrej, já vůbec nepochopil o co mu jde, myslel jsem, že o to, aby "výstup z příkazu" nebyl na novém řádku. A to by býval byl stejně nebyl. Přestože ve svém dotazu to tvrdí a označuje za problém k řešení. To s tou pevnou šířkou jsem naopak myslel, že má vyřešené, když říká "výstup vypadá takto (zarovnáno), ale já potřebuji..." :)
8.8.2012 12:46 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
No, já to taky pochopil až z toho příspěvku z 21:56, do té doby jsem měl jen několik divokých teorií. Tahle mezi nimi nebyla…
8.8.2012 20:20 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
Hm, zdá se, že printf ignoruje locales.

To je vlastnost printf(3):

  • An optional minimum field width. If the converted value has fewer bytes than the field width, …

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.