Advertisement
Guest User

Untitled

a guest
May 24th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. INPUT=$1
  4.  
  5. PAT="^([0-9]+|([0-9]+).([0-9]+))([GgMmKk])?$"
  6.  
  7. if [[ ! $INPUT =~ $PAT ]]; then
  8. echo "error: bad format"
  9. exit 1
  10. fi
  11.  
  12. VALUE=$(echo "$INPUT" | sed "s/[^0-9\.]//g")
  13.  
  14. case "$INPUT" in
  15. *G|*g)
  16. echo $(echo "$VALUE*1024*1024*1024" | bc);;
  17. *M|*m)
  18. echo $(echo "$VALUE*1024*1024" | bc);;
  19. *K|*k)
  20. echo $(echo "$VALUE*1024" | bc);;
  21. *)
  22. PAT_NUM="^[0-9]+$"
  23. if [[ $INPUT =~ $PAT_NUM ]]; then
  24. echo "$VALUE"
  25. else
  26. echo "NaN"
  27. fi
  28. ;;
  29. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement