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 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

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

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 0
    28.11. 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

    Ladislav Hagara | Komentářů: 18
    28.11. 12:44 | Zajímavý software

    Společnost Collabora vydala (YouTube) na LibreOffice založený desktopový kancelářský balík Collabora Office. Pro Windows, macOS a Linux. Se stejným uživatelským rozhraním jako Collabora Online. Svůj desktopový kancelářský balík s rozhraním LibreOffice pojmenovala Collabora Office Classic.

    Ladislav Hagara | Komentářů: 13
    28.11. 12:00 | Nová verze

    Glen MacArthur vydal AV Linux (AVL) a MX Moksha (MXM) 25. S linuxovým jádrem Liquorix. AV Linux (Wikipedie) je linuxová distribuce optimalizována pro tvůrce audio a video obsahu. Nejnovější AV Linux vychází z MX Linuxu 25 a Debianu 13 Trixie. AV Linux přichází s desktopovým prostředím Enlightenment 0.27.1 a MX Moksha s prostředím Moksha 0.4.1 (fork Enlightenmentu).

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    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: 668×
    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: 71 | 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.