Cuando intento lo siguiente no hay problema:
$ date '+%y%m' | sed 's/.\(.*\)/\1/'
906
Pero cuando intento almacenarlo en una variable parece que no hay nada almacenado:
$ dd=`date '+%y%m' | sed 's/.\(.*\)/\1/'`
$ echo "$dd"
Sé que puedo obtener el mismo resultado si no uso sed
:
$ dd=`date '+%y%m'`
$ echo ${dd: -3}
906
pero tengo curiosidad por saber por qué no funciona con sed
.
Respuesta1
No utilice comandos como nombre de variable. dd
es su destructor de discos, mire man dd
y pruebe con otro nombre de variable o algo como esto:
d=`date '+%y%m' | sed 's/.\(.*\)/\1/'`
echo $d
Quizás esta parte del bash
manual también te sea útil:
man bash | sed -n '/^DEFINITIONS/,/^SHELL GRAMMAR/p' | less