Príkaz grep

Sekcia: Programovanie Včera | 20:14
Avatar Radovan Prokop Devuan (XFCE, 64bit, nonsystemd..... )  Používateľ

Dobrý, potreboval by som pomôcť s príkazom grep, keď zadám date +%H | grep [19-21] && echo "OK" tam mi vypíše "grep: Nepřípustný konec rozsahu". Vie niekto poradiť kde robím chybu ? Ďakujem.

    • RE: Príkaz grep Včera | 23:33
      Avatar paldopice   Návštevník

      [] definuje jednotlive znaky, pripadne rozsah znakov, ale vzdy sa berie do uvahy len jeden znak. To znamena, ze rozsah nemoze byt dvojciferny. Pozna len 0-9, a-z, A-Z, pripadne "subrozsah", napr. [3-6], [d-j], alebo kombinacia: [acei-mrtx257-9L-P], pripadne sa tam mozu pridat aj ne-alfanumericke znaky: [46-9dhn-sv._-]. Ale sa moze pouzit negacia: [^ f56]

      Je niekolko rieseni:

      date '+%H' | grep -E '19|2[01]' >/dev/null && echo "OK"
      

       

      if [ $(date '+%k') -ge 19 -a $(date '+%k') -le 21 ]; then echo "OK"; fi
    • RE: Príkaz grep Dnes | 07:56
      Avatar Richard antiX  Používateľ

      A tu je alternatíve v Emacsovom Lispe, ak používať eshell

      (let ((hour (string-to-number (format-time-string "%k"))))  (when (and (>= hour 1) (<= hour 21))    (message "OK")))
      

      Hej, hoďte už na neho sieť, aj s tým Emacsom! ヾ(=^▽^=)ノ