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 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 4
    dnes 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 7
    včera 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

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

    Byla vydána verze 1.89.0 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
    včera 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 4
    včera 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (44%)
     (21%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 298 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: tr a proměnné

    31.5.2013 14:16 mcm | skóre: 13 | blog: linca | domažlice
    tr a proměnné
    Přečteno: 486×
    Ahoj, chtěl bych pomocí tr změnit velikost písmen v proměnné a takto upravenou velikost zase zpátky do proměnné vložit. Není rozhodující, zda to bude ta samá proměnná nebo jiná.
    Příklad: mám skript
    #!/bin/sh
    
    # Skript pro stazeni a zobrazeni informaci o pocasi konkretni ICAO stanice.
    
    case "$1" in
    	--help)
    		echo "Skript 'weather.sh' stahuje informace o pocasi z druzicoveho serveru 'http://weather.noaa.gov/'."
    		echo "Pouziti:"
    		echo "weather.sh [bez parametru] vypise informace o pocasi ve stanici LKPR (viz ICAO kody dale)."
    		echo "weather.sh --help vypise tuto napovedu."
    		echo "weather.sh -i [ICAO] vypise informace o pocasi ve stanici definovane parametrem 'ICAO'."
    		echo "Nejcasteji pouzivane ICAO kody (Kody ICAO nutno zapisovat velkymi pismeny!):
    		CZ:	Brno Turany	(LKTB)	Karlovy Vary	(LKKV)
    			Pardubice	(LKPD)	Plzen Line	(LKLN)
    			Praha Kbely	(LKKB)	Praha Ruzyne	(LKPR)
    			Ostrava Mosnov	(LKMT)
    		O:	Wien		(LOAN)
    		ESP:	Barcelona	(LEBL)	Madrid Torrejon	(LETO)
    		F:	Paris de Gaulle	(FLPG)
    		GR:	Athens		(LGAV)
    		H:	Budapest	(LHBP)
    		I:	Palermo		(LICJ)	Venezia		(LIPZ)
    			Rome (LdV)	(LIRF)
    		CH:	Geneve		(LSGG)
    		SL:	Bratislava	(LZIB)
    		B:	Brussel		(EBMB)
    		D:	Berlin Schonef.	(EDDB)	Frankfurt /M.	(EDDF)
    		GB:	London Luton	(EGGW)	London Gatwick	(EGKK)"
    		echo "Dalsi ICAO kody ke zjisteni na adrese:"
    		echo "http://en.wikipedia.org/wiki/International_Civil_Aviation_Organization_airport_code"
    		exit 1
    		;;
    	-i)
    		for ICAO in $2; do
    			export ICAO=$2
    		done
    		;;
    	*)
    		# Zakladni nastaveni v pripade, ze $ICAO neni definovano
    		export ICAO=LKPR
    		;;
    esac
    
    /usr/local/bin/curl -s http://weather.noaa.gov/pub/data/observations/metar/decoded/$ICAO.TXT
    echo
    
    exit 0
    
    
    a abych nemusel jako parametr pořád vypisovat ICAO velkýma písmenama, rád bych operaci trochu zautomatizoval. Je nějaká reálna šance, že půjde upravit velikost písmen proměnné pomocí příkazu tr? Nebo je to špatný postup?

    Díkes za jakoukoli radu, případně nasměrování :)

    Odpovědi

    31.5.2013 14:28 Kit
    Rozbalit Rozbalit vše Re: tr a proměnné
    Pro tento účel asi bude vhodnější sed.
    31.5.2013 14:34 Kit
    Rozbalit Rozbalit vše Re: tr a proměnné
    Aha, už jsem pochopil dotaz
    tr 'a-z' 'A-Z'
    31.5.2013 14:59 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: tr a proměnné

    Spíš

    tr '[:lower:]' '[:upper:]'

    nebo rovnou

    ICAO="${ICAO^^*}"

    (vyžaduje bash 4).

    31.5.2013 15:12 Kit
    Rozbalit Rozbalit vše Re: tr a proměnné
    To bych už raději místo toho prvního napsal
    sed 's/\(.*\)/\U\1/'
    a bude mi to fungovat i česky.
    31.5.2013 18:49 mcm | skóre: 13 | blog: linca | domažlice
    Rozbalit Rozbalit vše Re: tr a proměnné
    Ahoj, moc děkuju za rady, zkusim si z výukových důvodů všechny postupy, které jste mi nabídli.
    Jen dotaz k tomu tr: jak bych mu předhodil proměnnou a zase jí z něj dostal? Vim jak u souborů, ale u proměnných......
    To jen spíš pro úplnost a ukojení mojí zvědavosti.. :D
    Díky..
    31.5.2013 18:56 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: tr a proměnné
    ICAO=`echo "$ICAO" | tr '[:lower:]' '[:upper:]'`

    (vnější apostrofy jsou obrácené, vnitřní normální)

    1.6.2013 08:44 mcm | skóre: 13 | blog: linca | domažlice
    Rozbalit Rozbalit vše Re: tr a proměnné
    Tak to bylo přesně ono. Naprosto elegantní řešení. Děkuju moc :)) S tímhle doplňkem se mi ten skript líbí daleko víc :) Ještě jednou díkes...
    1.6.2013 09:19 Kit
    Rozbalit Rozbalit vše Re: tr a proměnné
    Pozor, nefunguje to pro české znaky. Alespoň mně ne.
    3.6.2013 12:11 mcm | skóre: 13 | blog: linca | domažlice
    Rozbalit Rozbalit vše Re: tr a proměnné
    Zkusil jsem to pomoci 'sed ....', ale nejak sem i to nepodarilo rozchodit... takze zkousim ruzny varianty - aspon se tim neco priucim.. mam nastrel, jak to udelat, takze vim, co mam hledat.. napisu, pokud si uz s tim nebudu vedet rady :)
    dikes za upozorneni a rady :)
    3.6.2013 12:29 Kit
    Rozbalit Rozbalit vše Re: tr a proměnné
    Mělo by to vypadat analogicky jako s tím "tr". Vyzkoušeno:
    ICAO="příšerně žluťoučký"
    ICAO=`echo "$ICAO" | sed 's/\(.*\)/\U\1/'`
    echo "$ICAO"
    
    výstup:
    PŘÍŠERNĚ ŽLUŤOUČKÝ
    
    Hlavně nepoplést uvozovky, apostrofy a obrácené apostrofy. Každý symbol má odlišný význam.
    7.6.2013 17:02 mcm | skóre: 13 | blog: linca | domažlice
    Rozbalit Rozbalit vše Re: tr a proměnné
    Zkoušel jsem to na jednom kompu a tam mi tohle nefungovalo.. Poměrně dlouho jsem si s tim lámal hlavu, nakonec mě napadlo to vyzkoušet jinde. Problém byl pouze ve verzi shellu, resp. sedu. Ten na tom prvnim kompu byl již hooodně za zenitem :))

    Díky za radu, sice mam problém ten zápis pochopit (to je ale otázka času stráveného studiem regulárních výrazů), nicméně funguje velmi dobře, takže jsem jej zahrnul misto 'tr' do skriptu.

    Ještě jednou díky za radu a nakopnutí vám oběma :)

    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.