Advertisement
deadlykingdx

tool.sh latest

Jan 7th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.01 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #an den exei parametrous, ektupwse to am
  4. if [ $# -eq 0 ]; then
  5.     echo '1058123-'
  6.     exit
  7. fi
  8.  
  9. #an dwthei prwta -f kai meta -id
  10. if [ "$1" = "-f" -a "$3" = "-id" ]; then
  11.     file="$2"
  12.     id="$4"
  13.  
  14. #tupwnei ta pediaonoma,eponumo,imerominia genisis, tou id pou dothtike, diaxorismena me ena keno metaksu tous
  15.     awk 'BEGIN{FS="|"; OFS;} $1=='$id' {print $2,$3,$5}' $file
  16.  
  17. #an dwthei prwta -id kai meta -f
  18. elif [ "$1" = "-id" -a "$3" = "-f" ]
  19. then
  20.     file="$4"
  21.     id="$2"
  22.  
  23. #tupwnei ta pediaonoma,eponumo,imerominia genisis, tou id pou dothtike, diaxorismena me ena keno metaksu tous
  24. awk 'BEGIN{FS="|"; OFS;} $1=='$id' {print $2,$3,$5}' $file
  25. elif [ "$1" = "-f" -a "$3" = "" ]
  26. then
  27.     file="$2"
  28.     cat $file | egrep -v "^#.*"
  29.     exit
  30. fi
  31.  
  32. options=$(getopt -o f: --long firstnames,lastnames,socialmedia,born-since:,born-until: -- "$@")
  33. eval set -- "$options"
  34.  
  35. # thetw metavlites bornsince kai bornuntil 0 gia na diksw oti den exoun dwthei kai na ginei argotera epilogi
  36. bornsince=0
  37. bornuntil=0
  38. while true; do
  39.     case "$1" in
  40.     -f ) #an arxika dwthei -f
  41.  
  42. # apothikevei to onoma tou arxeiou sti metavliti file
  43.         file=$2
  44.         shift 2
  45.         ;;
  46.  
  47. #an dwthei --firstnames
  48.     --firstnames )
  49.  
  50. # apothikeuei ti zitithike
  51.         operation=fnames # apothikeuei ti zitithike
  52.         shift;
  53.  
  54.         ;;
  55. #an dwthei --lastnames
  56.     --lastnames )
  57.  
  58. # apothikeuei ti zitithike
  59.         operation=lnames # apothikeuei ti zitithike
  60.         shift;
  61.         ;;
  62.     --socialmedia )
  63.         ;;
  64.     --born-since )
  65.         operation=born
  66.         bornsince=$2
  67.         shift 2
  68.         ;;
  69.     --born-until )
  70.         echo lel
  71.         operation=born
  72.         bornuntil=$2
  73.         shift 2
  74.         ;;
  75.     -- ) shift; break;;
  76.     * ) break;;
  77.     esac
  78. done
  79.  
  80. case "$operation" in
  81.  
  82. # an eixe zitithei firstnames
  83.     fnames)
  84.  
  85. #ektupwnei ta firstnames alfavitika
  86.     awk 'BEGIN{FS="|"} /^[^#]/ {print $3|"sort -u"}' $file
  87.     ;;
  88.  
  89. # an eixe zitithei lastnames
  90.     lnames)
  91.  
  92. #ektupwnei ta lastnames alfavitika
  93.     awk 'BEGIN{FS="|"} /^[^#]/ {print $2|"sort -u"}' $file
  94.     ;;
  95.  
  96. # an eixe zitithei kapoia imerominia
  97.     born)
  98.  
  99. # an exei dwthei mono born-until (to bornsince tha einai 0 giati den dwthike)
  100.     if (( "$bornsince"==0 ))
  101.     then
  102.  
  103. # ektupwse ola ta stoixeia twn atomwn me imerominia genisis<bornuntil
  104.         awk -v bornuntil="$bornuntil" 'BEGIN{FS="|"} /^[^#]/ && $5<=bornuntil { print $0 }' $file
  105.  
  106. #an exei dwthei mono born-since (to bornuntil tha einai 0 giati den dwthike)
  107.     elif (( "$bornuntil"==0 ))
  108.     then
  109.  
  110. # ektupwse ola ta stoixeia twn atomwn me imerominia genisis>bornsince
  111.         awk -v bornsince="$bornsince" 'BEGIN{FS="|"} /^[^#]/ && $5>=bornsince { print $0 }' $file
  112.  
  113. #an exoun dwthei kai bornsince kai bornuntil
  114.     else
  115.  
  116. # ektupwse ta stoixeia twn atomwn me bornsince<imerominia genisis< bornuntil
  117.         awk -v bornsince="$bornsince" -v bornuntil="$bornuntil" 'BEGIN{FS="|"} $5>=bornsince && $5<=bornuntil { print $0 }' $file
  118.     fi
  119.     ;;
  120. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement