Existe um equivalente do javascript Math.min () no bash / bc etc.? [duplicado]

0

Eu preciso converter alguns cálculos javascript para bash, e eu estou querendo saber se existe uma função equivalente do javascript Math.min() no bash, bc ou qualquer outra calculadora no shell?

    
por DisplayName 10.01.2016 / 19:28

2 respostas

1

Com o shell POSIX:

min() {
  min=$1
  shift
  for arg do
    min=$((arg<min?arg:min))
  done
  printf '%s\n' "$min"
}

Todos os shells, mas zsh , ksh e yash , não suportam números flutuantes.

Com o toolchest POSIX:

min() {
  awk 'BEGIN {
    min = ARGV[1]
    for(i = 2; i < ARGC; i++)
      min = ARGV[i] < min ? ARGV[i] : min
    print min
  }' "$@"
}

E se você tiver perl :

min() {
  perl -MList::Util=min -le 'print min @ARGV' "$@"
}

ou perl6 :

min() {
  perl6 -e '@*ARGS.min.say' "$@"
}
    
por 10.01.2016 / 20:08
-1

Envie seus dados para um arquivo, classifique-os e obtenha a primeira linha.

#/bin/sh

echo $VAR1 > $FILE
echo $VAR2 >> $FILE
echo $VAR3 >> $FILE 

RET=$(sort -n $FILE | sort -n)
    
por 10.01.2016 / 19:44

Tags