Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Expected output if input is comma separated:
- 1
- 5
- 7
- Expected output if input is space separated:
- 1
- 5
- 7
- Expected output if input is - and , separated:
- 1
- 2
- 3
- 5
- input_string="1,5,7"
- IFS=' ' read -r -a array <<< "$input_string"
- echo ${array[1]} etc..
- input_string="1 5 7"
- read -r -a array <<< "$input_string"
- echo ${array[1]} etc..
- $ cat ranges.sh
- #!/bin/bash
- IFS=', ' read -a ranges <<< "$*"
- for range in "${ranges[@]}"; do
- IFS=- read start end <<< "$range"
- [ -z "$start" ] && continue
- [ -z "$end" ] && end=$start
- for (( i=start ; i <= end ; i++ )); do
- echo "$i"
- done
- done
- $ bash ranges.sh 1-3,5 9-10
- 1
- 2
- 3
- 5
- 9
- 10
Add Comment
Please, Sign In to add comment