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 23:55 | Zajímavý článek

Nakladatelství Raspberry Pi vydalo 244 stránkového průvodce pro úplné začátečníky s jednodeskovým počítačem Raspberry Pi The Official Raspberry Pi Beginner’s Guide (pdf). Programování ve visuálním programovacím jazyce Scratch je věnována nová příručka Code Club Book of Scratch Volume 1 (pdf). Vydáno bylo také třetí číslo časopisu věnovaného počítačovým hrám Wireframe (pdf).

Ladislav Hagara | Komentářů: 0
včera 23:44 | Nová verze

U příležitosti oslav jednoho roku prací na debianím balíčku, vyšlo GPXSee 7.0. Nová verze přináší zejména podporu vektorových map (Mapbox PBF) pomocí nově vzniklého Qt pluginu.

Martin Tůma | Komentářů: 0
7.12. 23:33 | Nová verze

UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch (seznam podporovaných zařízení), oznámila vydání nové verze Ubuntu Touch OTA-6. Zdůrazněna jsou například vylepšení webového prohlížeče Morph.

Ladislav Hagara | Komentářů: 0
7.12. 21:33 | Komunita

Richard Hughes na svém blogu informuje, že se společnost AMI (American Megatrends Incorporated), největší dodavatel firmwarů a BIOSů (AMIBIOS, Aptio, ...), zapojila do projektu LVFS (Linux Vendor Firmware Service). Seznam projektem podporovaných zařízení by se měl tedy časem rozšířit.

Ladislav Hagara | Komentářů: 0
7.12. 20:11 | Komunita

Nadace pro svobodný software (FSF) informuje, že seznam doporučených svobodných distribucí GNU/Linuxu byl rozšířen o distribuci Hyperbola GNU/Linux-libre. Hyperbola vychází z Arch Linuxu a na rozdíl od něj splňuje požadovaná kritéria.

Ladislav Hagara | Komentářů: 6
7.12. 19:55 | IT novinky

Společnost Valve oznámila, že počítačová hra Counter-Strike: Global Offensive (Steam) je nově free to play. Hra Company of Heroes 2 (Steam) je do pondělí 10. prosince zdarma.

Ladislav Hagara | Komentářů: 0
7.12. 00:11 | Nová verze

Byla vydána verze 7.3.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.3. Podrobný přehled novinek v seznamu změn.

Ladislav Hagara | Komentářů: 3
6.12. 23:55 | Nová verze

Byla vydána verze 1.31 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
6.12. 23:40 | Zajímavý článek

V roce 2015 Microsoft s Windows 10 představil i jeho nový prohlížeč Edge, který používal a používá nový engine EdgeHTML. Před pár dny se začaly objevovat zprávy o přechodu na Chromium engine. Nyní Microsoft vydal oficiální vyjádření, kde skutečně potvrdil přechod na Chromium projekt.

Max | Komentářů: 30
6.12. 23:22 | Nová verze

Po 5 měsících vývoje od vydání verze 0.15.0 byla vydána nová verze 0.16.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 95 vývojářů. Přibylo 985 nových balíčků. Jejich aktuální počet je 8 723 . Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 0
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (5%)
 (12%)
 (33%)
 (25%)
Celkem 93 hlasů
 Komentářů: 13, poslední 7.12. 10:59
Rozcestník

Dotaz: Jak v bashi převedu malá písmena na VELKÁ?

David Watzke avatar 20.12.2005 16:02 David Watzke | skóre: 74 | blog: Blog... | Praha
Jak v bashi převedu malá písmena na VELKÁ?
Přečteno: 134×
Jak v Bashi převedu malá písmena na VELKÁ? Díky.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

Odpovědi

David Watzke avatar 20.12.2005 16:03 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Konkrétně bych chtěl z abc udělat [aA][bB][cC].
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 16:13 Přemek Jordák | skóre: 12 | Beroun
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
$ echo "AbCDeFgh" |tr [:lower:] [:upper:]
Blogy neprohlížím, nepíši a ani se jim valně nesměji
20.12.2005 16:33 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Nehledáš spíš case-insensitive grep (-i) nebo sed ( /.../i )?
David Watzke avatar 20.12.2005 19:23 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
To asi ne, protože bych to chtěl ... no, radši uvedu příklad:
abc2cba převést na [aA][bB][cC]
bcd2dcb převést na [bB][cC][dD]
a to tak, že si pomocí cut -d2 -f1 vyříznu to před dvojkou a pak to nějak nacpu do [??][??][??]... jenže to bude asi dost kódu... Tedy pokud použiju tr, tak určitě.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 20:11 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
  r=''
  while [ -n "$s" ]; do
    l="${s:0:1}"
    u=`echo "$l" | tr '[:lower:]' '[:upper:]'`
    r="${r}[${l}${u}]"
    s="${s:1}"
  done
Ale, upřímně řečeno, v céčku to napíšete za třetinu času a poběží to o řád rychleji (spíš o několik řádů).
David Watzke avatar 20.12.2005 20:25 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Wow. Je to tak hustý, že se v tom ani nevyznám. Nějak jsem z toho pochopil, že bych to měl uložit do scriptu a spustit to z parametrem třeba abc. Jenže to nic nevypíše.
Ale, upřímně řečeno, v céčku to napíšete za třetinu času a poběží to o řád rychleji (spíš o několik řádů).
No, to je možný, ale nenapíšu to v Bashi, natož v C. :-(
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 20:53 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Napsat jen do souboru a spustit nestačí, musíš tomu předat vstupní hodnoty (s) a výstup lovit v r.
[tsunami@vodik]$ s=ToJeAlEkRaViNa

[tsunami@vodik]$   r=''

[tsunami@vodik]$   while [ -n "$s" ]; do
>     l="${s:0:1}"
>     u=`echo "$l" | tr '[:lower:]' '[:upper:]'`
>     r="${r}[${l}${u}]"
>     s="${s:1}"
>   done

[tsunami@vodik]$ echo $r
[TT][oO][JJ][eE][AA][lL][EE][kK][RR][aA][VV][iI][NN][aA]
-- Nezdar není hanbou, hanbou je strach z pokusu.
David Watzke avatar 20.12.2005 20:54 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Aha, super.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 20:12 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Vypadá to, že ten výsledek je regulární výraz k nějaké další operaci. Zkus napsat, co s tím řetězcem budeš dělat potom. Není vyloučeno, že obě části půjdou vyřešit dohromady nějakým trikem.
David Watzke avatar 20.12.2005 20:26 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Týká se to mýho skriptu - NCoda.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
21.12.2005 17:03 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
V tom případě shopt -s nocaseglob.
20.12.2005 16:09 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
man tr
20.12.2005 16:47 pol
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
já si obšlehl skriptík, a teď ho vždycky jenom zavolám...


#!/bin/bash
for file in *
do
newfile=`echo "$file" | tr A-Z a-z`
mv "$file" $newfile
done

David Watzke avatar 20.12.2005 21:15 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Dobře, mám tedy
s=`echo $1 | cut -d2 -f1`
 while [ -n "$s" ]
  do
   l="${s:0:1}"
   u=`echo "$l" | tr '[:lower:]' '[:upper:]'`
   r="${r}[${l}${u}]"
   s="${s:1}"
  done
echo *.${r}
Chci to pak použít ve funkci:
WL() {
 s=`echo $1 | cut -d2 -f1`
 while [ -n "$s" ]
  do
   l="${s:0:1}"
   u=`echo "$l" | tr '[:lower:]' '[:upper:]'`
   r="${r}[${l}${u}]"
   s="${s:1}"
  done
echo *.${r}
}

 WL
a proměnná r je prázdná. Proč to nejde ve funkci? :-(
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 20.12.2005 21:15 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Samozřejmě to spouštím s parametrem typu aaa2bbb.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 21:19 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Je mi to skoro trapné, ale mě to funguje
[tsunami@vodik]$ WL() {
>  s=`echo $1 | cut -d2 -f1`
>  r=''
>  while [ -n "$s" ]
>   do
>    l="${s:0:1}"
>    u=`echo "$l" | tr '[:lower:]' '[:upper:]'`
>    r="${r}[${l}${u}]"
>    s="${s:1}"
>   done
> echo *.${r}
> }

[21:17:12]-[~]-
[tsunami@vodik]$ WL ahoj2magor
*.[aA][hH][oO][jJ]
Nezapomeň na to r='', to je tam docela potřeba.
-- Nezdar není hanbou, hanbou je strach z pokusu.
David Watzke avatar 20.12.2005 21:21 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Aha, podcenil jsem to...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 21:17 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Jestli to WL na konci tvého příspěvku znamená spuštění funkce, tak je to jasné.

Ty té funkci nepředáš parametry, ale uvnitř se na ně odvoláváš($1).
-- Nezdar není hanbou, hanbou je strach z pokusu.
David Watzke avatar 20.12.2005 21:20 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Znamená, ale proč nepředám? Myslel jsem, že ta funkce si vezme $1 z shellu. :/ Jak ho přemluvím?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 21:27 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Že by zcela překvapivě 'WL "$1"'?
David Watzke avatar 20.12.2005 21:33 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Jojo. :-( Snad jsem tady taky neudělal nějakou blbost (no, zřejmě jo)
WL() {
 s=`echo $1 | cut -d2 -f1`
 r=''
 while [ -n "$s" ]
  do
   l="${s:0:1}"
   u=`echo "$l" | tr '[:lower:]' '[:upper:]'`
   r="${r}[${l}${u}]"
   s="${s:1}"
  done
echo *.${r}
}

aac2wav() {
 for F in `WL $1`
  do
   faad -o "${F%%.*}.wav" "$F"
  done
}
Proč je ve funkci aac2wav zase prázdno?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 22:00 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Protože $1 ve funkci je parametr té funkce a ne celého skriptu.
-- Nezdar není hanbou, hanbou je strach z pokusu.
David Watzke avatar 20.12.2005 22:04 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Je to ale v ``. Jak to tedy udělám?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 22:20 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Představujte si funkci jako samostatný skript, který máte jen shodou okolností napsán v témže souboru. Poziční parametry ve funkci expandují na parametry, se kterými je volána příslušná funkce. Takže v těle funkce WL expanduje $1 na první parametr funkce WL, v těle funkce aac2wav na první parametr funkce aac2wav a jinde na první parametr skriptu.
20.12.2005 22:22 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Jinak bych asi použil 'find . -maxdepth 0 -type f -iname "*.$1"'
20.12.2005 22:27 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
maxdepth 0 asi nebude pracovat, chtělo by to 1

a taky bych se vyprdnul na ten for cyklus a použil u findu -exec
-- Nezdar není hanbou, hanbou je strach z pokusu.
David Watzke avatar 20.12.2005 22:34 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Vyprdnul na for cyklus, jo... Tak teď už v tom mám totální guláš. :-( Jak bys to chtěl tedy udělat?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 22:39 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
neřeš, plácám blbosti

akorát si dej bacha na mezery v názvech souboru

Koukal jsem do toho tvého skriptu ncoda a všiml si, že používáš češtinu s diakritikou v kódování UTF-8, to nedělej. Když už chceš použít češtinu, tak bez háčků a čárek. Nebo to rovnou piš anglicky.
-- Nezdar není hanbou, hanbou je strach z pokusu.
David Watzke avatar 20.12.2005 22:40 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Mezery jsou (AFAIK) zajištěný. Na tu diakritiku si dám pozor.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
20.12.2005 23:05 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jak v bashi převedu malá písmena na VELKÁ?
Jasně, 1, hloupý překlep…

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.