Nowe posty

Autor Wątek: Zliczanie znaków alfanumerycznych  (Przeczytany 5571 razy)

Arbuckle

  • Gość
Zliczanie znaków alfanumerycznych
« dnia: 2012-05-01, 12:30:00 »
Witam, mam problem, bo dostalem zadanie do stworzenia skryptu ktory wylicza znaki z okreslonych wierszy (6,7,8) i wypisuje ich liczbe, tylko, ze te znaki musza byc alfanumeryczne, a jesli wierszy jest mniej niż 8, skrypt ma wypisać -1.
Staralem sie to zrobic bez skryptu to stworzylem cos takiego, ale nie dziala tak jak powinno:

cat | sed -ne '6,8p' -e /[:alnum:]/ | wc -m

Jesli jest ktos kto moglby mi pomoc to zaimplementowac w skrypt, to byloby super :)

Znalazlem jeszcze na necie takie cos:
#!/bin/sh
# t is the input string, ck is a variable to check the contents of t
t="thisisa555ctest"

ck=$( echo "$t" | tr -dc '[:alnum:]')
if [[ ${#t} -eq ${#ck} ]]; then
      echo "ok"
else
      echo "not ok"
      exit 1
fi
# t is all good chars at this point
# check length of t

if [[ ${#t} -gt 50 ]]; then
      echo "not ok too long"
fi

xarrek

  • Gość
Zliczanie znaków alfanumerycznych
« Odpowiedź #1 dnia: 2012-05-01, 20:48:14 »
sed -n '6,8p' | tr '\\n' ' ' | sed 's/[^A-Za-z0-9]//g' | wc -m