surum_karsilastir 7.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/bash
  2. function trs() {
  3. local string="$1"
  4. declare -A translate
  5. translate=( ["a"]="0"
  6. ["b"]="1"
  7. ["c"]="2"
  8. ["d"]="3"
  9. ["e"]="4"
  10. ["f"]="5"
  11. ["g"]="6"
  12. ["h"]="7"
  13. ["i"]="8"
  14. ["j"]="9"
  15. ["k"]="10"
  16. ["l"]="11"
  17. ["m"]="12"
  18. ["n"]="13"
  19. ["o"]="14"
  20. ["p"]="15"
  21. ["q"]="16"
  22. ["r"]="17"
  23. ["s"]="18"
  24. ["t"]="19"
  25. ["u"]="20"
  26. ["v"]="21"
  27. ["w"]="22"
  28. ["x"]="23"
  29. ["y"]="24"
  30. ["z"]="25")
  31. for i in "${!translate[@]}"; do
  32. string="$(sed -e "s/$i/${translate[$i]}/g" <<< "$string")"
  33. done
  34. echo "$string"
  35. }
  36. function surum_karsilastir(){
  37. #$1 mevcut $2 enson
  38. if [[ $1 == $2 ]];then
  39. return 0
  40. fi
  41. #tireleri noktayla değiştir.
  42. V1=`echo $1 | sed 's/\-/\./g'`
  43. V2=`echo $2 | sed 's/\-/\./g'`
  44. V1=`trs $V1`
  45. V2=`trs $V2`
  46. local IFS=.
  47. local i ver1=($V1) ver2=($V2)
  48. # boş sahaların 0 ile doldurulması
  49. for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
  50. do
  51. ver1[i]=0
  52. done
  53. for ((i=0; i<${#ver1[@]}; i++))
  54. do
  55. if [[ -z ${ver2[i]} ]]
  56. then
  57. # boş sahalarn sıfırla doldurulması
  58. ver2[i]=0
  59. fi
  60. if ((10#${ver1[i]} > 10#${ver2[i]}))
  61. then
  62. return 1 # >
  63. fi
  64. if ((10#${ver1[i]} < 10#${ver2[i]}))
  65. then
  66. return 2 # <
  67. fi
  68. done
  69. return 0 # =
  70. }
  71. surum_karsilastir $1 $2