fork download
  1. !/bin/bash
  2.  
  3. set -- tomfoolery FoO bar # simulated command line arguments to make it run here
  4.  
  5. #input/output strings
  6. input=$1 #tomfoolery
  7. d=$2 #FOo;
  8. e=$3 #bar;
  9. # turn strings into character-arrays
  10. D=($(echo "$d" |grep -o .))
  11. E=($(echo "$e" |grep -o .))
  12. # define output as empty
  13. o=""
  14. # permutate over the individual characters of 'd' and set the case of the corresponding character in 'e'
  15. for i in $(seq 0 $((${#D[@]}-1)) );do
  16. printf '%s' "${D[i]} --> "; # for debugging only
  17. if [[ $(echo "${D[i]}" |grep -c '[A-Z]') -eq 1 ]]; then
  18. echo "${E[i]}" |tr '[:lower:]' '[:upper:]'; # for debugging only
  19. o=${o}$(echo "${E[i]}" |tr '[:lower:]' '[:upper:]');
  20. else
  21. echo "${E[i]}"; # for debugging only
  22. o=${o}"${E[i]}";
  23. fi;
  24. done
  25. echo "$o" # for debugging only
  26. echo "$input" |sed "s@$d@$o@i"
  27.  
Success #stdin #stdout #stderr 0.03s 5312KB
stdin
Standard input is empty
stdout
F --> B
o --> a
O --> R
BaR
tomBaRlery
stderr
./prog.sh: line 1: !/bin/bash: No such file or directory