Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Purpose: to breakout multiple entries from a CSV with a single 'key' value
- #
- # Example File
- # someserver.domain.com,10.20.30.40,192.168.1.100
- # mailserver.domain.com,10.20.30.41,192.168.1.101,172.168.12.12
- # backupserver.domain.com,10.20.30.45
- #
- # Example Output
- # someserver.domain.com,10.20.30.40
- # someserver.domain.com,192.168.1.100
- # mailserver.domain.com,10.20.30.41
- # mailserver.domain.com,192.168.1.101
- # mailserver.domain.com,172.168.12.12
- # backupserver.domain.com,10.20.30.45
- #
- ## counter variable
- counter=0;
- currHost="";
- for i in $(cat somelist.csv); do
- ## reset counter
- counter=0; currHost="";
- ## break up the line
- line=$(echo $i | tr "," "\n");
- for l in $line; do
- ## set host header line
- if [[ "$counter" == "0" ]]; then currHost="$l";
- else echo "$currHost,$l"; fi
- ## increment counter, most moot after counter > 0
- counter=$((counter+1));
- done
- done
Add Comment
Please, Sign In to add comment