Hay varios trucos (creo que hay un duplicado que se encuentra), pero por esto tiendo a hacer
cp /etc/prog/dir1/myconfig.yml{,.bak}
que se expande a tus órdenes.
Esto se conoce como expansión de llaves . En la forma utilizada aquí, la {}
expresión especifica una serie de cadenas separadas por comas. Estos "expanden" la /etc/prog/dir1/myconfig.yml{,.bak}
expresión completa , reemplazando la {}
parte con cada cadena a su vez: la cadena vacía, dando /etc/prog/dir1/myconfig.yml
y luego .bak
dando /etc/prog/dir1/myconfig.yml.bak
. El resultado es
cp /etc/prog/dir1/myconfig.yml /etc/prog/dir1/myconfig.yml.bak
Estas expresiones se pueden anidar:
echo a{b,c,d{e,f,g}}
produce
ab ac ade adf adg
Hay una variante que usa números para producir secuencias:
echo {1..10}
produce
1 2 3 4 5 6 7 8 9 10
y también puedes especificar el paso:
echo {0..10..5}
produce
0 5 10
bash-fu
:)