Guest User

Untitled

a guest
Jan 15th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Purpose: to breakout multiple entries from a CSV with a single 'key' value
  4. #
  5. # Example File
  6. # someserver.domain.com,10.20.30.40,192.168.1.100
  7. # mailserver.domain.com,10.20.30.41,192.168.1.101,172.168.12.12
  8. # backupserver.domain.com,10.20.30.45
  9. #
  10. # Example Output
  11. # someserver.domain.com,10.20.30.40
  12. # someserver.domain.com,192.168.1.100
  13. # mailserver.domain.com,10.20.30.41
  14. # mailserver.domain.com,192.168.1.101
  15. # mailserver.domain.com,172.168.12.12
  16. # backupserver.domain.com,10.20.30.45
  17. #
  18.  
  19. ## counter variable
  20. counter=0;
  21. currHost="";
  22.  
  23. for i in $(cat somelist.csv); do
  24. ## reset counter
  25. counter=0; currHost="";
  26. ## break up the line
  27. line=$(echo $i | tr "," "\n");
  28. for l in $line; do
  29. ## set host header line
  30. if [[ "$counter" == "0" ]]; then currHost="$l";
  31. else echo "$currHost,$l"; fi
  32. ## increment counter, most moot after counter > 0
  33. counter=$((counter+1));
  34. done
  35. done
Add Comment
Please, Sign In to add comment