Bash: stdin-ről beolvas regexp-t

Kezdőlap Fórumok Programozás Bash: stdin-ről beolvas regexp-t

7 bejegyzés megtekintése - 1-7 / 7
  • Szerző
    Bejegyzés
  • #2085854
    pointux
    Felhasználó

      Szerinted ez `echo ${INPUT} | grep ^[pattern]´ mit „akarna” csinálni?

      #2085855
      artones
      Felhasználó

        Valami hasonlóra gondoltam. De kicsit módosítva a majdnem helyes megoldás:

        Code:
        echo „Kivant szuro: ”
        read minta
        echo ${sor} | grep ${minta}

        Mindent le tudok vele kérdezni kivéve a pontot (.), még levédve (.) sem helyes az output.
        De köszönöm az ötletet, mert előrébb lendített.

        #2085856
        uzsolt
        Felhasználó

          Szerintem rakd őket idézőjelbe. Próbáld ki, hogy az echo * mit csinál, és akkor szerintem érteni fogod, hogy miért.

          #2085857
          artones
          Felhasználó
            Code:
            $ echo .
            .
            $ echo „.”
            .
            $ echo ‘.’
            .
            $ echo *
            kiírja a könyvtár tartalmát
            $ echo „*”
            *
            $echo ‘*’
            *

            Ezekre működik a fent említett grep-es sorom, csak a .-ra nem: ,#()
            Ezért vagyok megakadva. ??? Az idézőjelek sem segítenek. :-

            #2085858
            pointux
            Felhasználó

              „Mindent le tudok vele kérdezni kivéve a pontot (.), még levédve (.) sem helyes az output.”
              Mivel a ” csak „prefixum” (vagy nem is tudom, hogy hogy nevezzem)
              pl:
              új sor => ‘n’
              figyelmeztető hang => ‘a’
              ‘.’ => ‘.’
              így a backslash => ‘\’

              #2085859
              artones
              Felhasználó

                Ááá, tényleg ez volt a gond. Köszönöm!

                #1885354
                csaba
                Felhasználó

                  Hali!

                  Egy másik topicban is próbáltam érdeklődni, de ott nem volt reakció a kérdésemre. Remélem itt nagyobb lesz az érdeklődés.
                  Egy bash scriptbe szeretnék használni egy billentyűzetről beolvasott változót, ami reguláris kifejezésként működne.

                  Code:
                  $ ./script.sh fajl.txt
                  Minta: ‘^[a]’
                  azt a mindenit mukodik!
                  ajaj

                  És ezt szeretném átadni grepnek:

                  Code:
                  #!/bin/sh
                  echo „Minta: ”
                  read minta
                  echo $1|grep $minta

                  Próbálkoztam már sed, expr, grep -el. De eddig nem sok sikerrel. >:(

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