rtorrent med conky, någon som vill göra en HowTo?[löst]

Här diskuteras programmering och utveckling
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

jag löste det genom att sätta dit mawk. nu tror jag det funkar :)
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

BadOmen skrev:jag löste det genom att sätta dit mawk. nu tror jag det funkar :)
Jo nu funkar det, den visar bara de som är igång och inte de som är closed :)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Vad menar du med att sätta dit mawk?
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Konservburk skrev:Vad menar du med att sätta dit mawk?
xmlstarlet sel -t -v / |
mawk '/./ {
if (++i%6 == 1) name=$0

jag tittade på den där raden du bad mig skriva ut för att få version av awk. den såg ut så här:
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

compiled limits:
max NF 32767
sprintf buffer 1020
jonas@Jonas-Desktop:~$

Det står att jag har mawk. Jag har kollat i synaptic och det är mawk som är installerat och det måste den ha gjort vid installationen av Ubuntu 8.04 för jag har inte gjort det själv, inte medvetet iaf :)


Den verkar sortera det baklänges dcba så om du kan tippa runt det så att den börjar skriva ut från andra hållet så blir det ABCD :)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Nu blir jag verkligen förvirrad här ???

Om awk -W version säger att du använder mawk så ska awk vara precis samma sak som mawk, och det borde inte bli någon skillnad alls när du "sätter dit mawk".

Vilken version av skriptet ändrade du i? Var det den där det stod gawk förut? I så fall måste du ändra från \0 till \b och ta bort kommentaren framför xargs om sorteringen ska fungera.
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Jepp jag bytte från gawk till mawk.

Så här står det i synaptic om mawk:
a pattern scanning and text processing language
Mawk is an interpreter for the AWK Programming Language. The AWK
language is useful for manipulation of data files, text retrieval and
processing, and for prototyping and experimenting with algorithms. Mawk
is a new awk meaning it implements the AWK language as defined in Aho,
Kernighan and Weinberger, The AWK Programming Language, Addison-Wesley
Publishing, 1988. (Hereafter referred to as the AWK book.) Mawk conforms
to the POSIX 1003.2 (draft 11.3) definition of the AWK language
which contains a few features not described in the AWK book, and mawk
provides a small number of extensions.

Mawk is smaller and much faster than gawk. It has some compile-time
limits such as NF = 32767 and sprintf buffer = 1020.
det verkar som man max kan skriva ut 1020 tecken om jag fattar det rätt?
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Konservburk skrev:I så fall måste du ändra från \0 till \b och ta bort kommentaren framför xargs om sorteringen ska fungera.
kanske du skulle kunna göra de ändringarna så att det inte blir nått annat fel :)
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Nu fattra jag inget här för när jag tog bort mawk och hade kvar bara awk som det var från början så funkade det????

Jag har ju inte gjort nåt, konstigt konstigt tycker jag.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Men det fungerar inte med gawk? Jag försöker bara förstå vad problemet egentligen är.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

BadOmen skrev:
Konservburk skrev:I så fall måste du ändra från \0 till \b och ta bort kommentaren framför xargs om sorteringen ska fungera.
kanske du skulle kunna göra de ändringarna så att det inte blir nått annat fel :)
Enda problemet med att du inte ändrar själv är att jag inte vet exakt vilken kod som fungerade för dig och vilken som inte gjorde det. Det kan ju därför hända att jag ändrar på en version som ändå inte hade fungerat innan. Men vi gör ett försök iaf:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
awk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Jag ska kolla det du gav mig just. Det är denna jag kör:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
mawk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\0")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
#xargs -d'\b' -n1 printf '%s\0' |
sort -z
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Konservburk skrev:
BadOmen skrev:
Konservburk skrev:I så fall måste du ändra från \0 till \b och ta bort kommentaren framför xargs om sorteringen ska fungera.
kanske du skulle kunna göra de ändringarna så att det inte blir nått annat fel :)
Enda problemet med att du inte ändrar själv är att jag inte vet exakt vilken kod som fungerade för dig och vilken som inte gjorde det. Det kan ju därför hända att jag ändrar på en version som ändå inte hade fungerat innan. Men vi gör ett försök iaf:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
awk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z
Den funkade inte fasten jag satte dit mawk. Du får försöka med den jag gav dig just som jag sa att jag använde.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

BadOmen skrev:Den funkade inte fasten jag satte dit mawk. Du får försöka med den jag gav dig just som jag sa att jag använde.
Nu börjar jag fundera på om det kan vara xargs-raden som inte fungerar för dig... Försök kommentera bort den en gång. Det borde du kunna klara själv.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Jag tror jag har en idé om vad som strular. Det skulle kunna vara så att conky ger upp efter första nolltecknet den hittar, vilket i så fall förklarar varför du bara får med en enda hela tiden. Försök köra skriptet från terminalen istället och se om det fungerar där. Om det fungerar ska vi helt enkelt se till att få bort alla nolltecknen när sorteringen väl är genomförd.
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

nu jorde jag som du sa att jag skulle göra på koden som jag hade som fungerade med mawk:
I så fall måste du ändra från \0 till \b och ta bort kommentaren framför xargs om sorteringen ska fungera.
Det funkar fortfarande men jag får en fyrkant:
Namn Ubuntu
klar 100
upp 0
ner 0

sen börjar fyrkanter dyka upp:

en Fyrkant framför varje rad som börjar med Namn men klar, upp och ner ser ut som de ska.

sen Upp totalt: har en fyrkant framför sig och ner totalt har en på raden under sig.

Det ser ut som det är radbrytningen som skrivs ut som fyrkant :)
EDIT: skrev detta medans du hade skrivit ditt förra... Detta körde jag altså från Conky :)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

BadOmen skrev:en Fyrkant framför varje rad som börjar med Namn men klar, upp och ner ser ut som de ska.

sen Upp totalt: har en fyrkant framför sig och ner totalt har en på raden under sig.

Det ser ut som det är radbrytningen som skrivs ut som fyrkant :)
:D hihi, fyrkanterna kan inte vara något annat än backspace-tecken. Det stärker mina misstankar om att conky inte gillar nolltecken. Här är en variant som rensar bort alla nolltecknen det sista den gör:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
awk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z |
xargs -0 -n1
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Denna kod körde jag i terminalen :

Kod: Markera allt

    #!/bin/sh
    test -S "$2" &&
    "$@" d.multicall default \
       d.get_name= \
       d.get_up_rate= \
       d.get_down_rate= \
       d.get_completed_chunks= \
       d.get_size_chunks= \
       d.is_active= \
    |
    xmlstarlet sel -t -v / |
    awk '/./ {
       if (++i%6 == 1) name=$0
       else if (i%6 == 2) up[name]=$0
       else if (i%6 == 3) down[name]=$0
       else if (i%6 == 4) done[name]=$0
       else if (i%6 == 5) size[name]=$0
       else if (i%6 == 0) active[name]=$0
    } END {
       for(name in up) {
          if(active[name]) {
             up_sum += up[name]
             down_sum += down[name]
             #if(++j<=4)
             {
                printf("Namn: %s\n", name)
                printf("Klart: %d%%\n", 100 * done[name] / size[name])
                printf("Upp: %.1f kB/s\n", up[name] / 1024)
                printf("Ner: %.1f kB/s\n", down[name] / 1024)
                printf("\n\b")
             }
          }
       }
       printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
       printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
    }' |
    xargs -d'\b' -n1 printf '%s\0' |
    sort -z
När jag körde scriptet ditt från terminalen så funkar det :) Du har nog rätt i att conky försör..
Namn: ubuntu-7.10-desktop-amd64.iso
Klart: 100%
Upp: 0.0 kB/s
Ner: 0.0 kB/s

Namn: ubuntu-8.04.1-desktop-i386.iso
Klart: 100%
Upp: 0.0 kB/s
Ner: 0.0 kB/s



Namn: ubuntu-8.04-desktop-amd64.iso
Klart: 100%
Upp: 0.0 kB/s
Ner: 0.0 kB/s

Upp totalt: 0.6 kB/s
Ner totalt: 41.4 kB/s
jonas@Jonas-Desktop:~$
jag kör en till torrent som laddar i 41 KB/s men den är inte med här nu, av val :)
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Konservburk skrev:
BadOmen skrev:en Fyrkant framför varje rad som börjar med Namn men klar, upp och ner ser ut som de ska.

sen Upp totalt: har en fyrkant framför sig och ner totalt har en på raden under sig.

Det ser ut som det är radbrytningen som skrivs ut som fyrkant :)
:D hihi, fyrkanterna kan inte vara något annat än backspace-tecken. Det stärker mina misstankar om att conky inte gillar nolltecken. Här är en variant som rensar bort alla nolltecknen det sista den gör:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
awk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z |
xargs -0 -n1

Hehehe ok, backspace var det men jag var inte så långt ifrån :P

Den koden som du har här den med awk funkar nu bara fin så det var conky måste ha nån form av allergi mot nolltecken som du säger :)
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Jag får den dock i den ordning som du ser det blev när jag körde i terminalen nått inlägg upp. Så det är inte i bokstavsordning än :)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

BadOmen skrev:Jag får den dock i den ordning som du ser det blev när jag körde i terminalen nått inlägg upp. Så det är inte i bokstavsordning än :)
Jag tycker den ser ut att vara helt sorterad. Vad är fel i fel ordning?
Skriv svar

Återgå till "Programmering och webbdesign"