find parameterezese bash szkriptben

Kezdőlap Fórumok Programozás find parameterezese bash szkriptben

10 bejegyzés megtekintése - 11-20 / 21
  • Szerző
    Bejegyzés
  • #1930964
    maszili
    Felhasználó

      Szoval erre nincs valakinek otlete?

      Code:
      File=”-iname ‘*.doc’ -or -iname ‘*.xls'”

      find . $File

      #1930965
      blasius
      Felhasználó

        Badur: a jó öreg batch fileokat egy napon se lehet említeni a shell scriptekkel. A script legalább logikus!

        #1930966
        ELaci
        Felhasználó

          Itt meg van egy magyar nyelvû:
          http://www.hup.hu/modules.php?name=Downloa…moz%E1s%20HOWTO

          Már elég régi (2001) és tar.gz -ben van 14kB.

          ELaci

          #1930967
          admin
          Adminisztrátor

            Szoval erre nincs valakinek otlete?

            Code:
            File=”-iname ‘*.doc’ -or -iname ‘*.xls'”

            find . $File

            Ezzel igy az a gaz, hogy a File valtozo egy text, es a find nem fogja parameterkent ertelmezni. Probalkozz az awk/gawk-val.

            Javaslom meg a Shell Programozas (vagy hasonlo) cimu Kskapu kiadvanyt.

            #1930968
            maszili
            Felhasználó

              A megoldast az eval parancs adja:

              Code:
              # 1- osszeallitom a vegrehajtando parancsot egy valtozoban

              Parancs=”find . -iname ‘*.doc’ -or -iname ‘*.xls'”

              # 2- vegrehajtom

              eval $Parancs

              #1930969
              gabaman
              Felhasználó

                A megoldast az eval parancs adja:

                Code:
                # 1- osszeallitom a vegrehajtando parancsot egy valtozoban

                Parancs=”find . -iname ‘*.doc’ -or -iname ‘*.xls'”

                # 2- vegrehajtom

                eval $Parancs

                #1930970
                gabaman
                Felhasználó

                  Egyébként ha nem rakod változóba a paramétereket, akkor ez is mûködik:

                  Code:
                  #!/bin/bash

                  find . -iname „*.doc” -or -iname „*.xls”

                  #1930971
                  maszili
                  Felhasználó

                    Egyébként ha nem rakod változóba a paramétereket, akkor ez is mûködik:

                    Ezt tudom… csak nekem futasidoben kell parameterezni a find-et,
                    es nem ertem, hogy miert nem mukodik az altalad is felvazolt megoldas
                    ha egy valtozoban vannak a parameterek. Talan a find hulyesege mert
                    mas parancsoknal viszont mukodik.

                    #1930972
                    gabaman
                    Felhasználó

                      Ez a hibauzenet:

                      find: paths must precede expression
                      Usage: find [path…] [expression]

                      Elõbb is kiszúrhattam volna… Bocsi.

                      A probléma oka, hogy a find álnevesítve van. Tehát a find kiadása után nem a sima „find” hajtódik végre, hanem egy bõvített változat, pl. „find -valami”. Ezért kiabál, hogy az útvonalnak kell elõször szerepelnie.

                      Az alias parancs begépelése után vmi ilyet kapsz:

                      Code:
                      $ alias

                      alias l.=’ls -d .* –color=tty’

                      alias ll=’ls -l –color=tty’

                      alias ls=’ls –color=tty’

                      alias find=’find -valami’

                      Egy
                      $
                      átmenetileg meg fogja oldani a problémádat. Egyébként meg a konfig fájlokból (bashrc, bash_profile) vedd ki a megfelelõ sort (alias find=’find -valami’), vagy tedd bele az unaliast, ha nem találod.

                      #1930973
                      maszili
                      Felhasználó

                        A probléma oka, hogy a find álnevesítve van.

                        Hat ez nekem eszembe se jutott… mindig tanul az ember…

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