Estoy intentando convertir esta salida:
❯ hg branches -T'{node} {branch}\n'
4b0826975cb29da26a6dd13f463241463c43c6a7 maria
5c31751cdb774f8b6337b6f64232b15903530997 default
En estos comandos:
hg bookmark -r 4b0826975cb29da26a6dd13f463241463c43c6a7 maria -f
hg bookmark -r 5c31751cdb774f8b6337b6f64232b15903530997 default -f
Lo intenté:
hg branches -T'{node} {branch}\n' | awk '{hg bookmark -r $1 $2 -f}'
Pero no creo que haya hecho lo que quería.
Básicamente quiero usar espacio para delimitar los argumentos y \n para delimitar los comandos. Mejor aún si puedo elegir diferentes separadores para que sea menos propenso a errores.
¿Cómo puedo hacer esto?
Respuesta1
Puedes agregar las piezas que faltan a tu plantilla:
hg branches -T'hg bookmark -r {node} {branch} -f\n'
Si desea ejecutar el resultado, canalice la salida al shell (suponiendo que los nombres de sus ramas no contengan comillas simples):
hg branches -T"hg bookmark -r {node} '{branch}' -f\n" | sh