wiki:blog:скриптуем_математику_в_bash
скриптуем математику в bash
юзается так:
$ seq 0 99 | ./test_seq.sh is_prime
Сам скрипт выглядит так… Для проверки простых чисел используется калькулятор для командной строки o.0
#!/bin/bash even_counter=$(( 2-$1%2 )) function is_prime { number= if(( $1 < 0 )); then number=$(($1*-1)) else number=$1 fi if(( $number == 1 || $number == 0)); then echo $1 return fi # а это строчка проверки числа, простое ли оно... result=`seq -s "*" 1 $(($number-1)) | sed -r "s/([0-9,\*]+)/(\1+1)%$number/" | bc` # перенос строчки чисто чтобы в блог нормально влезло #echo "[[$result]] for $number" if(( $result == 0 )); then echo $1 fi } function is_even { if(( $even_counter == 2 )); then echo $1 even_counter=1 else even_counter=$(($even_counter + 1)) fi } function is_not_even { if(( $even_counter == 1 )); then echo $1 even_counter=$(($even_counter + 1)) else even_counter=1 fi } echo "filtering by: $1" for item in $(cat) do # echo "Item: $item" cmd="$1 $item" eval "$cmd" # eval $1 done
oroginal url: http://blog.c0f3.net/2013/10/bash.html
wiki/blog/скриптуем_математику_в_bash.txt · Last modified: 2019/01/05 12:34 by kpc