func SplitInTwo(s, sep string) (string, string) {
	if !strings.Contains(s, sep) {
		log.Fatal(s, "does not contain", sep)
	}
	split := strings.Split(s, sep)
	return split[0], split[1]
}
SplitInTwo splits a string to two parts by a delimeter
package utils
import (
	"fmt"
	"log"
	exec "os/exec"
	"sort"
	"strings"
)
func PrintExec(cmd []string, print bool) error {
	if print {
		fmt.Println(cmd)
	}
	output, err := Exec(cmd)
	if err != nil {
		return err
	}
	if print {
		fmt.Print(output)
	}
	return nil
}
func Exec(cmd []string) (string, error) {
	binary := cmd[0]
	_, err := exec.LookPath(binary)
	if err != nil {
		return "", err
	}
	output, err := exec.Command(binary, cmd[1:]...).CombinedOutput()
	if err != nil {
		return "", fmt.Errorf(string(output))
	}
	return string(output), nil
}
func AddIfNotContained(s []string, e string) (sout []string) {
	if (!Contains(s, e)) && (e != "") {
		s = append(s, e)
	}
	return s
}
func Contains(s []string, e string) bool {
	for _, a := range s {
		if a == e {
			return true
		}
	}
	return false
}