Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. #!/bin/bash
  2. voor=0
  3. na=0
  4. while getopts ":a:b:" opt
  5. do
  6. case $opt in
  7. a) #n regels die volgen op passage uitschrijven
  8. na=$OPTARG;;
  9. b) #n regels voorafgaand aan passage uitschrijven
  10. voor=$OPTARG;;
  11. \?)
  12. echo "Syntax: highlight [-a <int>] [-b <int>] <int>:<int> <int>:<int>" 1>&2
  13. exit 1
  14. esac
  15. done
  16. shift $(($OPTIND - 1))
  17. if [[ $# != 2 || ! $( echo $1 | grep "[0-9]*:[0-9]*" ) || ! ! $( echo $2 | grep "[0-9]*:[0-9]*" ) ]]
  18. then
  19. echo "Syntax: highlight [-a <int>] [-b <int>] <int>:<int> <int>:<int>" 1>&2
  20. exit 1
  21. else
  22. touch bestand
  23. regel=$( echo $1 | sed -e "s/^\([0-9]*\):[0-9]*$/\1/" )
  24. char=$( echo $1 | sed -e "s/^[0-9]*:\([0-9]*\)$/\1/" )
  25. regeltwo=$( echo $2 | sed -e "s/^\([0-9]*\):[0-9]*$/\1/" )
  26. chartwo=$( echo $2 | sed -e "s/^[0-9]*:\([0-9]*\)$/\1/" )
  27. if [[ $regel = $regeltwo && $char -gt $chartwo ]]
  28. then
  29. echo "highlight: bad interval" 1>&2
  30. exit 2
  31. elif [[ $regel -gt $regeltwo ]]
  32. then
  33. echo "highlight: bad interval" 1>&2
  34. exit 2
  35. elif [[ $char -le 0 || $chartwo -le 0 || $regel -le 0 || $regeltwo -le 0 ]]
  36. then
  37. echo "highlight: bad interval" 1>&2
  38. exit 2
  39. else
  40. IFS=' '
  41. head -n $regeltwo <&0 | tail -n $(($regeltwo - $regel + 1)) >>bestand
  42. sed -i -e "$ s/./&\\\033[0m/$chartwo" bestand
  43. sed -i -e "1s/./\\\033[1m&/$char" bestand
  44. echo -e $(cat bestand)
  45. rm bestand
  46. fi
  47. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement