Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. #! /bin/bash
  2. totaalAantalvolgnummers=0
  3. errorMessage (){
  4.  
  5. >&2 echo "Syntaxis: assembler [-p] [-m ID] FILE"
  6. exit 1
  7.  
  8. }
  9.  
  10. while getopts ":pm:" opt; do
  11. case $opt in
  12. p) p="true"
  13. ;;
  14. m) m="true"
  15. UniekeCode="$OPTARG"
  16. ;;
  17. \?) errorMessage
  18.  
  19. esac
  20. done
  21. shift $((OPTIND-1))
  22.  
  23. if [ $m ]
  24. then
  25. volgnummers=$(egrep -x "^$UniekeCode.*" $1 | cut -f2)
  26. for i in volgnummers
  27. do
  28. totaalAantalvolgnummers=$(($totaalAantalvolgnummers + $i))
  29. done
  30. aantalPaketten=$(egrep -x "^$UniekeCode.*" $1 | cut -f3 | sed s/\n//g | cut -c1)
  31. lijst=$(egrep -x "^$UniekeCode.*" $1 | sort -k2 -n | cut -f4)
  32. if [ $lijst == "" ]
  33. then
  34. >&2 echo "assembler: boodschap $UniekeCode is onbekend"
  35. exit 3
  36. elif [ $totaalAantalvolgnummers -ne $aantalPakketten ]
  37. then
  38. >&2 echo "assembler: boodschap $UniekeCode is onvolledig"
  39. exit 3
  40. else
  41. echo "$lijst"
  42. fi
  43. fi
  44.  
  45. if [ ! ${#1} -eq 0 ]
  46. then
  47. bestand=$1
  48.  
  49. if [ ! -r $bestand ]
  50. then
  51. >&2 echo "assembler: onbestaand of onleesbaar bestand \"$bestand"\"
  52. exit 2
  53. fi
  54. fi
  55.  
  56. if [ $p ]
  57. then
  58. lijst=$(egrep -x $UniekeCode.* $1 | cut f1| sort -n)
  59. aantalPaketten=$(egrep -x $UniekeCode.* $1 | cut -f3 | cut -c1)
  60. volgnummers=$(egrep -x "^$UniekeCode.*" $1 | cut -f2)
  61. for i in volgnummers
  62. do
  63. totaalAantalvolgnummers=$(($totaalAantalvolgnummers + $i))
  64. done
  65. percentage=$(($totaalAantalvolgnummers/$aantalPakketen)*100))
  66. echo "$lijst: $totaalAantalvolgnummers/$aantalPaketten ($percentage)"
  67.  
  68. if [ $pm ]
  69. then
  70. lijst=$(egrep -x "^$UniekeCode.*" $1 | cut -f2.4 | sort -k1)
  71. echo "$lijst"
  72. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement