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í
×
dnes 13:33 | Nová verze

Po sedmi měsících vývoje od vydání verze 5.7 byla vydána verze 5.8 (YouTube) toolkitu Qt. Z novinek lze zmínit například Qt Lite pro vestavěná zařízení. Nově jsou plně podporovány moduly Qt Wayland Compositor (YouTube) a Qt SCXML (YouTube). Současně byla vydána verze 4.2.1 integrovaného vývojového prostředí (IDE) Qt Creator.

Ladislav Hagara | Komentářů: 0
dnes 11:52 | Pozvánky
Lednový Prague Containers Meetup se koná ve čtvrtek 26. ledna 2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.
little-drunk-jesus | Komentářů: 0
dnes 11:40 | Pozvánky
Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15. až 16. února 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24. ledna) v brzkých odpoledních hodinách.
TomasVondra | Komentářů: 0
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 6
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (11%)
 (2%)
 (73%)
 (4%)
 (10%)
Celkem 369 hlasů
 Komentářů: 25, poslední 21.1. 13:34
Rozcestník
Reklama

Dotaz: shell - oprava kódu

22.10.2012 19:50 rBAR
shell - oprava kódu
Přečteno: 195×
Zdravím, sažím se načíst jednotlivé řádky ze souboru do pole a následně je rozpůlit podle znaku IFS a uložit každou půlku do samostatné proměnné. Poradí někdo kde mám problém?
IFS="+"

PART=()
i=0
while read line
do
  PART=("$line")
  PART_L_"$i"="${PART[0]}"
  PART_P_"$i"="${PART[1]}"
  (( i++ ))
done</tmp/fce.txt

v souboru instalace.txt je každý řádek v uvozovkách
"funkce_jedna+FCE Jedna"
"funkce_dve  +FCE Dvě  "
"funkce_tri  +FCE Tři  "  
Když vypíšu třeba $PART_L_3 tak se nic nevypíše.... Poraďte prosím. D.

Odpovědi

22.10.2012 20:16 l4m4
Rozbalit Rozbalit vše Re: shell - oprava kódu
Myslíš další problém kromě toho, že se snažíš zpracovávat komplexní data v shellu?

Na první pohled je nesmysl toto:

PART_L_"$i"=...

Nejenže to neudělá, co čekáš, ale na tohle ti snad shell musí reagovat errorem, takže mě překvapuje, že si stěžuješ pouze na to, že je PART_L_3 prázdná (což tak jako tak být musí, když při číslování od nuly dostane poslední položka souboru číslo dva). Je-li nutné něco podobného dělat, musíš použít eval:

eval PART_L_"$i"=...

Ale možná by bylo lepší popsat, co má být celkový výsledek té operace, protože ji nejspíš lze provést bez bastlení v shellu.
22.10.2012 20:56 camel1cz | skóre: 23
Rozbalit Rozbalit vše Re: shell - oprava kódu
To IFS ti ovlivní chování funkce read, ale té dáváš pouze jeden parametr a tak to shell nemá kam nacpat a celý rádek dá do proměnné line... řešení jsou 2:

a) buď přidej fci read parametr -a (proměnnou line bude pak brát jako pole a nastaví ho podle IFS) a nebo

b) dej fci read druhý parametr a pak ti rovnou dá vše před IFS do první proměnné a za IFS do druhé proměnné...

Jinak ale souhlas s kolegou - zpracovávat taková data v shellu je řekněme nestandardní :-)

22.10.2012 21:00 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: shell - oprava kódu
awk
22.10.2012 21:12 Kit
Rozbalit Rozbalit vše Re: shell - oprava kódu
To se všichni zbláznili, že chtějí v Bashi řešit práci s polem? Bash to umí, ale je to nepřehledné, líné a nepříliš bezpečné. Proč si na to nevezmeš jiný nástroj, který na takové záležitosti byl vytvořen, třeba AWK nebo Perl?
23.10.2012 13:40 mike
Rozbalit Rozbalit vše Re: shell - oprava kódu
#!/bin/bash

FNAME=tst_in
OUT_FNAME_1=tst_out_1
OUT_FNAME_2=tst_out_2

OUT_FNAME=$OUT_FNAME_1
for line in $(cat $FNAME)
do
    if [ x$line = "x+" ]
    then
	OUT_FNAME=$OUT_FNAME_2
    else
	echo $line >> $OUT_FNAME
    fi
done
23.10.2012 14:24 mike
Rozbalit Rozbalit vše Re: shell - oprava kódu
nepochopeno zadani
23.10.2012 13:56 Kit
Rozbalit Rozbalit vše Re: shell - oprava kódu
tr -d '"' <instalace.txt |
   while IFS="+" read a b; do
      echo "$a, $b"
   done
23.10.2012 15:13 l4m4
Rozbalit Rozbalit vše Re: shell - oprava kódu
Akorát následující pořadavek bude, že potřebuje ty proměnné i po skončení roury...
23.10.2012 15:20 Kit
Rozbalit Rozbalit vše Re: shell - oprava kódu
To je mi jasné, ale už se mi s takovou hloupostí nechtělo patlat. Chtěl jsem tím jen ukázat, že příkaz read může mít víc parametrů. Zadání je nesmyslné, tak proč to řešit do detailů?

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.