Exclui a correspondência mais longa da substring *\n
do início da string armazenada em MY_INPUT
. Observe que *
é um curinga, portanto, o resultado é que todas as linhas de MY_INPUT
são descartadas, exceto a última, que é armazenada em MY_VAR
. O $
antes de '\n'
é colocado lá apenas para avaliar \n
e considerá-lo como uma nova linha em vez de literalmente os caracteres \
e n
.
Alguns exemplos:
MY_INPUT MY_VAR
"a\nb\nc" -> "c"
"a\n" -> ""
"abcde\n\n\ndef" -> "def"
Nota: no segundo exemplo, a última linha está vazia, então MY_VAR
é uma string vazia.
Conforme solicitado, outra maneira de fazer isso pode ser:
tail -n1 <<< "$MY_INPUT"
ou:
echo "$MY_INPUT" | tail -n1