Guest User

Untitled

a guest
Aug 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. Expected output if input is comma separated:
  2. 1
  3. 5
  4. 7
  5. Expected output if input is space separated:
  6. 1
  7. 5
  8. 7
  9. Expected output if input is - and , separated:
  10. 1
  11. 2
  12. 3
  13. 5
  14.  
  15. input_string="1,5,7"
  16. IFS=' ' read -r -a array <<< "$input_string"
  17. echo ${array[1]} etc..
  18.  
  19. input_string="1 5 7"
  20. read -r -a array <<< "$input_string"
  21. echo ${array[1]} etc..
  22.  
  23. $ cat ranges.sh
  24. #!/bin/bash
  25. IFS=', ' read -a ranges <<< "$*"
  26. for range in "${ranges[@]}"; do
  27. IFS=- read start end <<< "$range"
  28. [ -z "$start" ] && continue
  29. [ -z "$end" ] && end=$start
  30. for (( i=start ; i <= end ; i++ )); do
  31. echo "$i"
  32. done
  33. done
  34. $ bash ranges.sh 1-3,5 9-10
  35. 1
  36. 2
  37. 3
  38. 5
  39. 9
  40. 10
Add Comment
Please, Sign In to add comment