Portál AbcLinuxu, 29. května 2024 14:31


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
20.6.2005 23:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše zamyšlení
Odpovědět | Sbalit | Link | Blokovat | Admin
Jako cvičení v používání shellu a utilit je to krásné, ale mám neodbytný pocit, že kdyby se ten program napsal v C/C++, bude

20.6.2005 23:37 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: zamyšlení
Mně to příjde tak nějak nastejno :o)

int system(char*); int main(void) { return system("subor=\"line1014_col.lip\"; IFS=$'\\n'; (i=0; problem=0; for line in `cat $subor`; do if [ `echo $line | grep PHR &> /dev/null; echo $?` -eq '0' ]; then problem=$i; else i=`echo \"$i+1\" | bc`; fi ; done; head -n $problem < $subor > tmp.head; tail -n `echo \\`wc -l $subor | sed 's/\\(.*\\) .*/\\1/'\\`-$problem-1 | bc ` $subor > tmp.tail; stred=`head -n \\`echo $problem+1 | bc\\` < $subor | tail -n 1 | sed 's/^\\(PHRASE unicode [0-9]*\\) \\(\".*\\).*/\\2/' | recode utf-16le..latin2 2> /dev/null | cstocs il2 ascii`; zaciatok=`head -n \\`echo $problem+1 | bc\\` < $subor | tail -n 1`; zac1=`echo $zaciatok | sed 's/^\\(PHRASE unicode [0-9]*\\) \\(\".*\\).*/\\1/'`; zac2=`echo $zaciatok | sed 's/^\\(.*\".*\"\\) \\(.*\\)$/\\2/'`; cat tmp.head; echo -n \"$zac1 \"; echo -n $stred | recode ascii..utf-16le; echo \" $zac2\"; cat tmp.tail) > $subor.tmp"); }
20.6.2005 23:26 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Obrazce
Odpovědět | Sbalit | Link | Blokovat | Admin
Zajímavé je měnit šířku okna prohlížeče a sledovat, jaké ten kód vytváří obrazce :-)
21.6.2005 00:31 .
Rozbalit Rozbalit vše Re: Obrazce na X
:-D
elviin avatar 20.6.2005 23:32 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše ASCII Art
Odpovědět | Sbalit | Link | Blokovat | Admin
Ja si myslím, že autor s chutí vytvořil tenhle oneliner. Zajimavý postřehy. Kód bych zařadil mezi "ASCII art". Pokud by se to správně "sedlo", "greplo" a "recodovalo", možná bychom viděli tvář autora:)
20.6.2005 23:48 doubleZ | skóre: 24 | blog: smazano
Rozbalit Rozbalit vše Re: ASCII Art
každopádně teď vidíme hov... :-) nechce se mi to číst, ale zajímá mě to...
.. avatar 21.6.2005 11:24 .. | skóre: 4 | blog:
Rozbalit Rozbalit vše Re: ASCII Art
Kazdopadne neco v tom bude, ale jenom "...." vi co to je
21.6.2005 11:40 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Uáááááá
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak to je síla.
  1. for line in `cat $subor`; do ... done
    while read line; do ... done <$subor
  2. if [ `echo $line | grep PHR &> /dev/null; echo $?` -eq '0' ]
    if [ "$line" == *PHR* ]
  3. i=`echo "$i+1" | bc`
    let i++
  4. A dál už nemám sil ...
P.S.: To se někde vyučuje, nebo je to lidová tvořivost?
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
21.6.2005 11:55 Marek 'marx' Grác | skóre: 21 | blog: Paralelný blog | Brno / Bratislava
Rozbalit Rozbalit vše Re: Uáááááá
Trojka je jasná o tom som písal :) Problém s jednotkou a dvojkou je že tam sú tie nulové znaky (0x00) a preto mi štandardné postupy nefungujú. Jednotka by zrejme fungovala, ale príde mi, že ušetríš tak jeden znak.
21.6.2005 13:13 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Uáááááá
Nepočítáme znaky, ale procesy.
21.6.2005 13:44 Marek 'marx' Grác | skóre: 21 | blog: Paralelný blog | Brno / Bratislava
Rozbalit Rozbalit vše Re: Uáááááá

Ok, na procesy moje riešenie skutočne exceluje. Kebyže rátame procesy (réžiu), tak musí vyhrať Cčkové riešenie, to bude mať zrejme aj najmenšiu réžiu. Ja si pamätám len zopár vecí a tak ich používam dokola. Také bc má tú výhodu, že nemusíš rozmýšlať nad syntaxou pre konkrétny shell. Stačí ti pamätať ako sa priraďuje do premennej. A keďže zátvorkovanie a escape-ovanie je všade rôzne, tak sa snažím používať veci o ktorých viem, že fungujú.

A ako píšem veci o ktorých si myslím, že fungujú bez problémov sú často komplikovanejšie. Napr. to strácanie znakov zadaných do premennej, keby to skončilo pri prvej nule, tak si myslím, že by som tomu celkom rozumel. Takto bohužiaľ nie.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.