abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

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

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    včera 11:44 | IT novinky

    Mezinárodní nezisková organizace Women Who Code (WWCode, Wikipedie) založena v roce 2011 s cílem usnadnit ženám vstup do světa informačních technologií nečekaně skončila. Došly finance.

    Ladislav Hagara | Komentářů: 7
    19.4. 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    19.4. 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 6
    19.4. 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    19.4. 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 4
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (19%)
    Celkem 592 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Bash práce s textovým souborem

    17.4.2006 10:30 xg6
    Bash práce s textovým souborem
    Přečteno: 638×
    Umožňuje bash vypsat soubor následujícím způsobem:?
    soubor.txt:
    prvni 45 21 32
    druhy 12 321 21
    
    
    a bash mi vypíše: v prvním řádku: 1)prvni, 2)45, 3)21 4)32 ...atd
    
    Mohl byste mě něko navést na nějakou stránku nebo tak něco. Přečetl jsem už poměrně dost stránek o bashi, ale jediné co umím je vypisovat to po částech takhle prvni pak 45 pak 21 pak32 pak druhy, ale nevim, jak zařídit, aby si to všímalo řádků.

    Odpovědi

    17.4.2006 10:36 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    V takto jednoduchém případě by stačilo v cyklu použít read, na složitější věci se pak hodí awk.
    17.4.2006 17:02 xg6
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    No nenapadlo mě lepší řešení(krajně napraktické a pomalé), než data předávat perl skriptu, který poté odstraní konce řádků a dál už to zpracovává bash, ovšem řešení je to opravdu pomalé. Moje otázka tedy zní: jak v bashi nahrazovat znaky, konkrétně tedy jak odstranit konce řádků?
    17.4.2006 17:10 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    man tr
    man sed
    
    17.4.2006 17:14 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    tady ještě kupa příkladů sedu
    17.4.2006 17:45 xg6
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    dík
    17.4.2006 19:35 xg6
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    Stejně je to nějaký divný:
    source je nejaky soubor
    
    for x in `grep -v ^# $source | awk '{print $1,$2,$3,$4,$5,$6}'`; do
    echo x
    done;
    
    
    Jak udělat aby se mi vypsal soubor řádek po řádku, takhle se mi vypisuje slovo od slova ať dělám co dělám.
    17.4.2006 20:15 neal_cz | skóre: 29
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    Nevím,jestli to chápu dobře, ale takhle nějak(?):

    while read -r radek; do echo $radek; done < soubor.txt

    Jestli je to ono, tak nějaký příklad najdete v man read
    17.4.2006 20:46 xg6
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    No nevím jak by to udělal ten read, ale já jsem to udělal teď takhle, asi tak trošku hodně nestandartně ale funguje:
    for x in `grep -v ^# $source | awk '{print $1"|"$2"|"$3"|"$4"|"$5"|"$6}'`; do
    
    ...
    
    a pak ty | odstraním a roztřídím, protože kdybych do toho print dal mezeru, bralo by to jako další řádek
    17.4.2006 21:14 neal_cz | skóre: 29
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    Ten read postupně načítá ze souboru jednotlivé řádky do proměnné $radek. Akorát pak nemusíte odstraňovat ty | :)
    17.4.2006 23:17 xg6
    Rozbalit Rozbalit vše Re: Bash práce s textovým souborem
    Pro úplnost, tady je ten skript, ale stejně se mi zdá, že funguje docela pomalu na mým stroji Pentium 266Mhz:
    #!/bin/sh
    
    source=${3}
    
    cisloz="10"
    cislo="0"
    cislo2="0"
    
    for x in `grep -v ^# $source | awk '{print $1}'`; do
    cislo2=`expr $cislo2 + 1`
    done
    
    TC=/sbin/tc
    IPTABLES=/sbin/iptables
    
    INET_IFACE=eth0
    LAN_IFACE=eth1
    
    
    $TC qdisc del dev $LAN_IFACE root
    $TC qdisc add dev $LAN_IFACE root handle 1:0 htb
    $TC class add dev $LAN_IFACE parent 1:0 classid 1:1 htb rate ${1}kbit ceil ${2}kbit burst 64k
    
    $TC qdisc del dev $INET_IFACE root
    $TC qdisc add dev $INET_IFACE root handle 2:0 htb
    $TC class add dev $INET_IFACE parent 2:0 classid 2:1 htb rate ${1}kbit ceil ${2}kbit burst 64k
    
    echo "Celkem rate a ceil na kartu: ${1}/${2}"
    echo "Rozdeleni dle souboru: ${3}"
    echo "IP adresa	Download	Upload"
    for x in `grep -v ^# $source | awk '{print $1"|"$2"|"$3"|"$4"|"$5}'`; do
    
    x=`echo $x | sed 's/|/ /g'`;
    x1=`echo $x | awk '{print $1}'`
    x2=`echo $x | awk '{print $2}'`
    x3=`echo $x | awk '{print $3}'`
    x4=`echo $x | awk '{print $4}'`
    x5=`echo $x | awk '{print $5}'`
    
    echo $x1"    "$x2/$x3"        "$x4/$x5
    
    cislo=`expr $cislo + 1`
    cislo2=`expr $cislo2 + 1`
    cisloz=`expr $cisloz + 1`
    
    $TC class add dev $LAN_IFACE parent 1:1 classid 1:$cisloz htb rate ${x2}kbit ceil ${x3}kbit burst 64k
    $IPTABLES -t mangle -A FORWARD -i $INET_IFACE -d $x1 -j MARK --set-mark $cislo
    $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p all -d $x1 -j MARK --set-mark $cislo
    $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp -d $x1 -j MARK --set-mark $cislo
    $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p udp -d $x1 -j MARK --set-mark $cislo
    $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p icmp -d $x1 -j MARK --set-mark $cislo
    $TC filter add dev eth1 parent 1:0 protocol ip handle $cislo fw flowid 1:$cisloz
    
    $TC class add dev $INET_IFACE parent 2:1 classid 2:$cisloz htb rate ${x4}kbit ceil ${x5}kbit burst 64k
    $IPTABLES -t mangle -A FORWARD -i $LAN_IFACE -s $x1 -j MARK --set-mark $cislo2
    $IPTABLES -t mangle -A INPUT -i $LAN_IFACE -p all -d $x1 -j MARK --set-mark $cislo2
    $IPTABLES -t mangle -A INPUT -i $LAN_IFACE -p tcp -d $x1 -j MARK --set-mark $cislo2
    $IPTABLES -t mangle -A INPUT -i $LAN_IFACE -p udp -d $x1 -j MARK --set-mark $cislo2
    $IPTABLES -t mangle -A INPUT -i $LAN_IFACE -p icmp -d $x1 -j MARK --set-mark $cislo2
    $TC filter add dev $INET_IFACE parent 2:0 protocol ip handle $cislo2 fw flowid 2:$cisloz
    
    done
    
    data se načítají ze souboru:
    #IP		download	upload
    192.168.1.2	16	512	64	512
    192.168.1.3	256	1024	256	1024
    192.168.1.5	256	1024	256	1024
    

    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.