birno

Hozzászólások

10 bejegyzés megtekintése - 901-910 / 1,711
  • Szerző
    Bejegyzés
  • Hozzászólás: Bash script #2053543
    birno
    Felhasználó

      Kiszedtem a „[]” jelek lecserélésére vonatkozó részt és működik. 🙂
      Köszi!

      Hozzászólás: Bash script #2053541
      birno
      Felhasználó

        Gondolom nincs meg az a táblázat?  🙂

        A „fogadó” a „#/bin/sh”, majd a sed program.
        Lehet én nem értem a dolgot, de a példámban a „fogadó” mindig ugyanaz, az én hibám akkor jön elő, ha a „küldő” más.

        Hozzászólás: Bash script #2053539
        birno
        Felhasználó

          Amennyi idő alatt ezt leírtad a backslash tengert is kibogoztad volna.  😀

          Akkor röviden.
          A spaceket cserélem ” „-re, a gond „[]” karakterek.
          A könyvtár neve: [2003] Sphynx
          Ha terminálból fut a script cseréli a „[” és „]” jelet „[” és „[” és műxik.
          Ha Thunarból használnám, akkor nem cseréli, de csak ezeket a jeleket, a spaceket és a „()” karakterek feldolgozza.

          Ahogy mégegyszer megnéztem, érdekes mód a „]” utáni spacehez sem rak backslash-t, de az összes többihez igen.
          Fura…

          Az idézőjeleket majd kipróbálom, terminálból megette, arra emlékszem, de scriptben nem próbáltam ha jól rémlik.

          Hozzászólás: Bash script #2053537
          birno
          Felhasználó

            A változó nem vált be, ugyanis egybesűrítette az egész szöveget, de fájlba írva működik és csak 5-10%-ot eszik.

            Code:
            for i in $(seq 1 1000) ; echo 0 widget_tell sb_statusbar tb_textbox text $i | awesome-status; sleep 0.2; done

            Nekem olyan 7-8%-ról kb. 20-ra „felugrott” a proci (na jó, egy cel2ghz-ről van szó).

            Nekem max 5%-os plusz terhelést generált.

            A másik scriptet még nem próbáltam ki, mert most egy érdekes hibával szívok.

            Adott ez a scriptecske:

            Code:
            #/bin/sh

            echo $* >> ~/.awesome/file

            if [ $# -eq 0 ]
            then
            echo „Nem adtál meg paramétert.”
            exit 1
            fi

            file=$(echo „$*”|sed ‘s/ /\ /g’|sed ‘s/(/\(/g’|sed ‘s/)/\)/g’|sed ‘s/[/\[/g’|sed ‘s/]/\]/g’|sed ‘s/^-.\ //g’)

            while getopts „:spkach” kapcs
            do
            case $kapcs in
              „s”)
            mocp
            sh /home/norbi/.awesome/mocp-status &
              ;;
              „p”)
            mocp -p
            sh /home/norbi/.awesome/mocp-status &
              ;;
              „k”)
            mocp -s&&sleep 3&&killall sh mocp &> /dev/null
              ;;
              „a”)
            echo $file|tee -a ~/.awesome/file|xargs mocp -a
              ;;
              „c”)
            mocp -c
            echo $file|xargs mocp -a
              ;;
              „h”)
            mocp -c
            echo $file|xargs mocp -a
            mocp -p
            sh /home/norbi/.awesome/mocp-status &
              ;;
              „?”)
            echo „Hibás kapcsoló”; exit 2
              ;;
            esac
            done
            exit 0

            Az elején lévő „echo” és az „a”-nál lévő „tee” parancs persze csak diagnosztizálás végett van benne.

            Terminálból:

            Code:
            ~/.awesome$./mocp -a /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3
            ~/.awesome$

            Vagyis hozzáadta a playlisthez az adott fájlt, ilyenkor a „~.awesome/file”-ban ez van:

            Code:
            -a /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3
            /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3

            Ha Thunarból próbálok hozzáadni egy fájlt, „~/.awesome/mocp -a %F”(%F adja hozzá a fájlokat elérési úttal együtt) parancs segítségével, a „~/.awesome/file” így néz ki:

            Code:
            -a /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3
            /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3

            Vagyis ugyanazt kapja meg mint parancssorból, de a fájlnév átalakításakor mégsem dolgozza fel a

            Code:
            sed ‘s/[/\[/g’|sed ‘s/]/\]/g’

            részt.
            Vajon miért?

            Hozzászólás: Bash script #2053536
            birno
            Felhasználó
              vizsla wrote:
              Különben a file-ba írás, meg szintén a memóriában történik.

              Erről jut eszembe, tmpfs-re kellene írni ha mégis azt választanám, így szinkronizáláskori lassulás is ki lenne lőve, na majd tesztelem melyik a jobb.

              Hozzászólás: Bash script #2053533
              birno
              Felhasználó
                Code:
                Milyen géped van? Egy kHz-es 10 bájt rammal? Ennél nagyobb dolgok is zajlanak a háttérben, még ha nem is tudsz róla

                Athlon Xp 2500+ és érdekes mód az mocp ffrissítését végző script(négyszer lekéri az infót és küldi awesome-clientnek 0.9 másodpercenként) 10-15%-os plusz proci terhelést jelent, ami szerintem sok.

                Code:
                Na, akkor úgy érzem, ma is egy új dolgot fogsz tanulni (ha jól értem a gondod)

                Bakker, ezt tényleg nem tudtam, nagyon király, köszi!

                mocp-al viszont szabadon váltogathatok a könyvtárakban, egy szám meghallgatására is tökéletes, nem kell egy külön progi(nem mintha nem használnám az mplayert is:)).
                Nekem egyenlőre jobban bejött, könnyebb a kezelhetősége számomra.

                Hozzászólás: Bash script #2053531
                birno
                Felhasználó

                  Fájlba irányításra én is gondoltam, de az megint viszonylag „nagy” munka a procinak, a változó viszont pont jó lesz, köszönöm mindkettőtöknek.

                  A másiknál meg azért nem jó a háttérbe küldés, mert kb. 15-20 sornyi parancsról van szó(egy-egy ciklus plusz pár apróság) s mindegyik mögé nem akarok „&” biggyeszteni.  🙂
                  A scriptet ki fogom próbálni ha otthon leszek, addig igyekszem értelmezni.  🙂

                  mpd amúgy azért nem tetszik, mert fix adatbázissal dolgozik s ha egy új számot akarok meghallgatni vagy más könyvtárban van, akkor lehet újraépíteni az egészet.
                  Ja és egy box-ba ment, igazából már működik is, csak nem akarom nagyon elszaporítani a scripteket, főleg ha hasonló feladatot látnak el.

                  Viszont holnap lehet jövök majd még egy kérdéssel, de előtte azért megpróbálom még „debuggolni”. 🙂

                  Hozzászólás: Bash script #2053527
                  birno
                  Felhasználó

                    Még egy kérdés.

                    Code:
                    #/bin/sh

                    while getopts „:ip” kapcs
                    do
                    case $kapcs in
                      „i”)
                    while true;
                    do
                                                    parancsok
                    done
                      ;;
                      „p”)
                    while true;
                    do
                                                    parancsok
                    done
                      ;;
                    esac
                    done
                    exit 0

                    Mind a két parancs folyamatosan futna, státusz frissítés céljából.
                    Megoldható-e hogy mindkettő induljon?
                    Vagyis „parancs -ip” és fusson a két ciklus, mert ilyetén formában csak az „i” indul el, a „p” meg vár, hogy végezzen a másik.

                    Egy kapcsolóhoz azért nem írható a 2 parancs, mert különböző időnként frissülne, az egyikben egy „sleep 30m” a másikban meg egy „sleep 60” van.

                    Hozzászólás: Bash script #2053526
                    birno
                    Felhasználó

                      Sziasztok!

                      Code:
                      ~$mocp -i
                      State: PLAY
                      File: /media/files/Zene/The Crown – Crowned In Terror/02 Crowned In Terror.mp3
                      Title: 2 The Crown – Crowned In Terror (Crowned In Terror)
                      Artist: The Crown
                      SongTitle: Crowned In Terror
                      Album: Crowned In Terror
                      TotalTime: 04:48
                      TimeLeft: 01:35
                      TotalSec: 288
                      CurrentTime: 03:13
                      CurrentSec: 193
                      Bitrate: 192Kbps
                      AvgBitrate: 192Kbps
                      Rate: 44KHz
                      ~$mocp -i|grep Artist|sed ‘s/Artist: //’
                      The Crown
                      ~$mocp -i|grep SongTitle|sed ‘s/SongTitle: //’
                      Crowned In Terror
                      ~$mocp -i|grep TotalTime|sed ‘s/TotalTime: //’
                      04:48
                      ~$mocp -i|grep TimeLeft|sed ‘s/TimeLeft: //’
                      00:42

                      Megoldható ez úgy, hogy a „mocp -i” parancsot csak egyszer adom ki, de négyféleképpen dolgozom fel?

                      Hozzászólás: awesome ablakkezelő #2146669
                      birno
                      Felhasználó

                        Bugreport több szempontból is probléma.

                        Egyrészt gyenge az angolom, másrészt nem tudom milyen adatokat kell megadnom hozzá, meg pl. az urxvt-s dolog nem tudom bug-e vagy valamilyen beállítási gond.

                        Az hogy néha nem reagál a gyorsbillentyűre már inkább, de ehhez is pl milyen infókat kellene leírnom?

                        Feature-t viszont lehet majd megpróbálok kérni, mert 2 dolog tényleg jó lenne, ha vizszintesen is lehetne méretezni az ablakot, nekem még csak függőlegesen sikerült, meg a tasklisten jó lenne ha külön felismerné az ablakokat, nem az aktív kliensre reagálna.
                        Bár nem tudom ezt minek neked írom megint, talán, mert már te magad is fejlesztő vagy. 😉

                      10 bejegyzés megtekintése - 901-910 / 1,711