SED használata

Kezdőlap Fórumok Vegyes felvágott SED használata

10 bejegyzés megtekintése - 11-20 / 31
  • Szerző
    Bejegyzés
  • #2047128
    birno
    Felhasználó

      Húha mennyi válasz. smiley.gif

      1. pkill
      Nem ismertem a parancsot, de azt hiszem sokkal könnyebb lesz vele az életem, köszi!

      2. killall nem jó, mert akkor elveszik a queue list és állíthatom össze újra, ezért akarom csak felfüggeszteni.

      3. ps -C lftp -o pid= | sed -e ‘s| ||g’ >> pid.txt
      Ez is működik, viszont nem értem, hogy a „sed -e ‘s| ||g'” rész mit csinál, mert ha kihagyom akkor is ugyanazt az eredményt kapom.

      4. ps -ef |grep lftp|grep -v grep|awk ‘{print $1}’
      Erre a felhasználót írja ki aki indította a folyamatot, „ps -ef |grep lftp|grep -v grep|awk ‘{print $2}'” formában már valóban a pid-et kapom meg. smiley.gif

      5. kill -9 `pgrep lftp`
      Lásd 2. pont -9 miatt, de a pgrep szintén új volt.

      Mindenkinek köszi a helpet, sok új és hasznos infót kaptam!
      A matyizásról meg csak annyit, az nem jutott eszetekbe, hogy nem ismerem a megfelelő parancsokat, kapcsolókat és azért akarom túlbonyolítani? rolleyes.gif

      #2047129
      kisbetu
      Felhasználó

        A feladat a sed használata. Anélkül nem ér a megoldás.

        #2047130
        kisbetu
        Felhasználó
          birno wrote:
          A matyizásról meg csak annyit, az nem jutott eszetekbe, hogy nem ismerem a megfelelő parancsokat, kapcsolókat és azért akarom túlbonyolítani?

          Aki Gentú Haladóban járkál, arról az ember nem szívesen tételezi fel, hogy nem ismeri a mant.

          #2047131
          pointux
          Felhasználó
            birno wrote:
            A matyizásról meg csak annyit, az nem jutott eszetekbe, hogy nem ismerem a megfelelő parancsokat, kapcsolókat és azért akarom túlbonyolítani?

            Pont ez jutott eszembe… (Csak valahogy rossz ómen, ha hozzáteszem, hogy „man”, de ha már így alakult: „man killall”.)

            #2047132
            pointux
            Felhasználó
              kisbetu wrote:
              A feladat a sed használata. Anélkül nem ér a megoldás.

              Hát, ezt el kell ismernem/nünk. :)))

              kisbetu wrote:
              Aki Gentú Haladóban járkál, arról az ember nem szívesen tételezi fel, hogy nem ismeri a mant.

              Egy csomó mindent nem szívesen tesz az ember… amit meg kell tenni. 😉

              #2047133
              tamsa
              Felhasználó

                kisbetu: akkor végül is megoldottam a feladatot 🙂

                -TamsA-

                #2047134
                kisbetu
                Felhasználó

                  Konzokveníció: BÚÉK mindenkinek!

                  #2047135
                  birno
                  Felhasználó
                    tamsa wrote:
                    Mivel magyarázatot is kértél:

                    ps|grep lftp|sed 's/^[0-9]* //'
                    pont azt csinálta amit mondtál neki:
                    mit is?
                    ps=listázd ki a futó (azonos shellből indított) parancsokat
                    |grep lftp = listából vedd azokat amik tartalmazzák az lftp karakterlácot
                    |sed 's/^[0-9]* //' = a visszakapott sorokkal tedd a kovetkezőt: elejéről a számokkal kezdődő csak számokat tartalmazó szavakat dobd el.

                    lássunk egy sed-es megoldást is megfogalmazva ha a ps kimente

                    PID, TTY, TIME, CMD

                    PID szám utána szóköz(ök) betű(k) ….

                    amit ki kéne vágni az a szám utáni szóköz+hablaty reguláris kifejezése:
                    " [a-Z].*"

                    teljes paranccsal:
                    ps|grep lftp|grep -v grep|sed 's/ [a-Z].*//'

                    -TamsA-

                    Azt értettem, hogy mit csinál az általam kiadott parancs, csak nem tudtam hogyan csináljam meg a fordítotját.
                    Amit írtál nekem nem ad vissza semmit, mert simán „ps” parancsra nem dobja ki az lftp-t, viszont a következő formában már jó: „ps -eo pid,comm|grep lftp|sed ‘s/[a-z].*//'”
                    Viszont nem értem, hogy „ps -eo pid,comm|grep lftp|sed ‘s/[a-z]*//'” formában miért nem ok?
                    Kihagytam a „.” karaktert, így azt mondom neki, hogy az „a-z” karakterek és azok ismétlődéseit szedje ki, nem?
                    A te általad írt formában pedig azt, hogy az „a-z” karaktereket plusz bármely más karaktert és ismétlődéseit hagyja ki, bár ez így hülyeség, mert akkor a számokat is törölné.
                    Akkor pontosan mit is mond neki a „sed ‘s/[a-z].*//'” parancs?
                    Miért kell oda a pont?

                    #2047136
                    uzsolt
                    Felhasználó
                      bacsi2 wrote:
                      Code:
                      ps -C lftp -o pid= | sed -e ‘s| ||g’ >> pid.txt

                      Ezzel megkapod a pid.txt fájlba az azonosítóját. (Nem értem amúgy minek bonyolítani.)

                      pidof lftp >> pid.txt
                      Ennél egyszerűbb már csak az lenne, ha erősen rágondolnál, ha megjelenne magától az a pid.txt a megfelelő tartalommal ;D

                      De ha csak sed kell:

                      Code:
                      for i in $(echo /proc/* | sed „s@ @n@g” | sed -n „//proc/[0-9]{1,}/p”); do [ „$(sed -n ‘/qbittorrent/p’ $i/cmdline 2>/dev/null | sed ‘s@.*qbittorrent.*@qbittorrent@g’)” = „qbittorrent” ] && echo $i | sed „s@/proc/@@”; done

                      Persze én a qbittorrent-et használtam lftp helyett, de ahol qbittorrent-et látsz, azt átírod lftp-re és kész.

                      Ja: ez CSAK sed-et használ meg „beépített” bash-parancsokat (az echo is ez!!!). Tamsa pedig még egy grep-et, sőt egy ps-t is használt 😛

                      #2047137
                      birno
                      Felhasználó
                        kisbetu wrote:
                        birno wrote:
                        A matyizásról meg csak annyit, az nem jutott eszetekbe, hogy nem ismerem a megfelelő parancsokat, kapcsolókat és azért akarom túlbonyolítani?

                        Aki Gentú Haladóban járkál, arról az ember nem szívesen tételezi fel, hogy nem ismeri a mant.

                        Gentoo haladóban csak azért jártam, mert ott volt olyan topik amilyen problémám épp adotott, nem akartam újat nyitni, bár ahogy nézem erre rá kell szoknom.
                        Plusz gondolom ismered mikor az ember leragad egy általa elképzelt megoldási lehetőségnél és nem tud elvonatkoztatni tőle…

                      10 bejegyzés megtekintése - 11-20 / 31
                      • Be kell jelentkezni a hozzászóláshoz.