Advertisement
sheffield

parser.sh

Apr 18th, 2013
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.34 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. function help
  4. {
  5.   echo "Usage: options (-f value) (-m value) (-s value) -h for help"
  6. }
  7.  
  8. function sorting
  9. {
  10.  
  11. case $1 in
  12.   1) cat $2 | sort -k1
  13.   ;;
  14.   2) cat $2 | sort -k2
  15.   ;;  
  16.   3) cat $2 | sort -k3
  17.   ;;
  18.   4) cat $2
  19.   ;;
  20.   5)cat $2 | sort -k5
  21.   ;;
  22.   6)cat $2 | sort -t'"' -k3 -n
  23.   ;;
  24.   7)cat $2 | sort -k10 -n
  25.   ;;
  26.   8)cat $2 | sort -t'"' -k5
  27.   ;;
  28.   9)cat $2 | sort -t'"' -k6
  29.   ;;
  30. esac
  31.  
  32. }
  33.  
  34. if ( ! getopts ":f:m:s:h" opt); then
  35.     echo "Usage: `basename $0` options (-f value) (-m value) (-s value) -h for help";
  36.     exit $E_OPTERROR;
  37. fi
  38.  
  39. while getopts ":f:m:s:h" opt; do
  40.   case $opt in
  41.     h)
  42.       echo "-h was triggered!" >&2
  43.     help
  44.       ;;
  45.     f)
  46.       echo "-f was triggered, Parameter: $OPTARG" >&2
  47.       FILE=$OPTARG
  48.       ;;
  49.     :)
  50.       echo "Option -$OPTARG requires an argument." >&2
  51.       exit 1
  52.       ;;
  53.     m)
  54.       echo "-m was triggered, Parameter: $OPTARG" >&2
  55.     FILTER=$OPTARG
  56.     grep "$OPTARG" $FILE
  57.  
  58.       ;;
  59.     :)
  60.       echo "Option -$OPTARG requires an argument." >&2
  61.       exit 1
  62.       ;;
  63.     s)
  64.       echo "-s was triggered, Parameter: $OPTARG" >&2
  65.     sorting $OPTARG $FILE | grep $FILTER
  66.       ;;
  67.     :)
  68.       echo "Option -$OPTARG requires an argument." >&2
  69.       exit 1
  70.       ;;
  71.     \?)
  72.       echo "Invalid option: -$OPTARG" >&2
  73.       exit 1
  74.       ;;
  75.   esac
  76. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement