#!/bin/bash


# ---- THIS IS TESTING ------- 3
snm="14387.pts-7.domU-12-31-39-17-3E-72"

## this trims from end, pat to substr(snm, -1)
echo ${snm%%${pat}*${snm:(-1)}}

snm="2529.R_freshPull_Spotify"

## this trims from the front 1st char to the first dot
echo ${snm#${snm:0:1}*\.}
# ---- THIS IS TESTING ------- 3


# --------- THIS CLEANS UP THE SCREEN NAME
if `echo ${snm} | grep "${pat}" 1>/dev/null 2>&1`
then
  # trim to just the pid
  snm=${snm%%${pat}*${snm:(-1)}}
  echo "RES IS "$snm
  echo "True"
else
  # remove out the pid
  snm=${snm#${snm:0:1}*\.}  
  echo "RES IS "$snm
fi
# --------- THIS CLEANS UP THE SCREEN NAME


# -----------  THIS EXTRACTS FROM SCREEN  ---------#
#    and is what made it in
# -----------  THIS EXTRACTS FROM SCREEN  ---------#
## RICK ADDED THIS ###
case $TERM in
    screen*)
        snm=${STY}
        pat="\.pts"
        if `echo ${snm} | grep "${pat}" 1>/dev/null 2>&1`
        then
          # trim to just the pid
          snm=${snm%%${pat}*${snm:(-1)}}
        else
          # remove out the pid
          snm=${snm#${snm:0:1}*\.}  
        fi
        echo "snm is $snm"
        SCREENTITLE=" - screen  ${snm}"
        ;;
    *)
        SCREENTITLE=''
        ;;
esac
# -----------  THIS EXTRACTS FROM SCREEN  ---------#



LEARNING: 


stringZ=abcABC123ABCabc
#       |----|          shortest
#       |----------|    longest

echo ${stringZ#a*C}      # 123ABCabc
# Strip out shortest match between 'a' and 'C'.

echo ${stringZ##a*C}     # abc
# Strip out longest match between 'a' and 'C'.



# You can parameterize the substrings.

X='a*C'

echo ${stringZ#$X}      # 123ABCabc
echo ${stringZ##$X}     # abc
                        # As above.