mmv

10 bejegyzés megtekintése - 1-10 / 54
  • Szerző
    Bejegyzés
  • #2060611
    pointux
    Felhasználó

      Nem tudom, én ezt bash-al oldanám meg.
      Bemenet – ls limenete.
      Kimenet – picture_[bash_variable] (ciklusban növelve; ha 00x kell akkor meg 3 ciklus)
      Ha ez így megfelel…

      (Külön külön mindkét részfeladatra van/volt is nekem script… talán megtalálom – mert fájdalmas lenne gondolkodnom. Egyébként összedobják szerintem neked. :))))

      #2060612
      pointux
      Felhasználó

        Na, el is készült:

        Code:
        #!/bin/bash

        FILE=””
        X=”0″
        Y=”0″
        Z=”0″

        for FILE in `ls -F | grep -v „/” | cat`; do
            X=$[$[X]+1]
            if [ $[X] -gt „9” ]; then
                X=”0″
                Y=$[$[Y]+1]
            fi
            if [ $[Y] -gt „9” ]; then
                Y=”0″
                Z=$[$[Z]+1]
            fi

            echo „${FILE}” „picture_${Z}${Y}${X}.jpg”

        done

        Az mv helyére echo-t tettem, hogy tesztelni lehessen.

        #2060613
        csablak
        Felhasználó

          Köszi.
          Bár jó lenne ha jobban is értenék is hozzá.

          Ha a forrásfájlban szóköz van akkor nem megy.
          Tettem bele egy IFS=„ parancsot az elejére, de ebben az esetben ez nem mûködik. 🙁

          #2060614
          pointux
          Felhasználó

            „Ha a forrásfájlban szóköz van akkor nem megy.”
            Valóban, ahhoz a fileokat „”-be kéne egyenként tenni, mert ugye a file-ok között a space az elválasztó. Ezen még gondolkozni kell, hogy hogy lehetne egyenként beolvasni.

            „Tettem bele egy IFS=„ parancsot az elejére, de ebben az esetben ez nem mûködik”
            Ezt meg nem értem.

            #2060615
            pointux
            Felhasználó

              Mindenesetre a módosított:

              Code:
              ls -1 -F | grep -v „/” | grep -v „:” | sed ‘s/*//’ | while read FILE; do
                  X=$[$[X]+1]
                  if [ $[X] -gt „9” ]; then
                      X=”0″
                      Y=$[$[Y]+1]
                  fi
                  if [ $[Y] -gt „9” ]; then
                      Y=”0″
                      Z=$[$[Z]+1]
                  fi

                  echo „”${FILE}”” „picture_${Z}${Y}${X}.jpg”

              done;

              Jó a space-t tartalmazó file-okra és kihagyja az átnevezésbõl az esetleges könyvtárakat.

              #2060616
              pointux
              Felhasználó

                Ez még mindig nem nevezi át a könyvtárakat, viszont rekurzív – tehát, a forráskönyvtár minden egyes file-jára (a könyvtárak könyvtárában is) kihat. (Az eredmény átnevezés és egy könyvtárba való rendezés.)

                Code:
                ls -1 -F -R | grep -v „/” | grep -v „:” | sed ‘s/*//’ | sed ‘/^$/d’ | while read FILE; do
                    X=$[$[X]+1]
                    if [ $[X] -gt „9” ]; then
                        X=”0″
                        Y=$[$[Y]+1]
                    fi
                    if [ $[Y] -gt „9” ]; then
                        Y=”0″
                        Z=$[$[Z]+1]
                    fi

                    echo „”${FILE}”” „picture_${Z}${Y}${X}.jpg”

                done;

                #2060617
                pointux
                Felhasználó
                  #2060618
                  Bbt
                  Felhasználó

                    csak egy ötlet, az alapkoncepció hasonló:
                    http://www.itport.hu/cikk/175

                    #2060619
                    pointux
                    Felhasználó

                      A szóközzel most már nincs gond a „-1” paraméter miatt. Mert az már „n”-t hazsnál ” ” helyett. elválasztó karakternek 🙂

                      Viszont ezt a sort:
                      ls -1 -F -R | grep -v „/” | grep -v „:” | sed ‘s/*//’ | sed ‘/^$/d’ | while read FILE; do
                      akár meg is megpróbálhatnád tömöríteni. (Csak hogy átláthatóbb legyen.  :)))))

                      #2060620
                      Gyuszk
                      Felhasználó

                        Skacok, lefuttatom a dolgot, és ugye az echo miatt csak ennyit ír ki:

                        gyuszk@jupiter:~/Szorakozas/Kepek/Csajok$ ./atnevezes
                        „atnevezes” picture_1.jpg
                        „blue_shirt_long_legs_stock_4_by_raine_angelstock.jpg” picture_2.jpg
                        „_Don__t_Forget_To_Write__v1_by_coldpoisonedheart.jpg” picture_3.jpg
                        „Family_Ties_by_water_fairy.jpg” picture_4.jpg
                        „having_fun_stock_12_by_raine_angelstock.jpg” picture_5.jpg
                        „having_fun_stock_7_by_raine_angelstock.jpg” picture_6.jpg

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