Estoy tratando de utilizar operadores de cadena bash en una cadena constante. Por ejemplo, puede hacer lo siguiente en la variable $ foo:Aplicación de operadores de cadena de bash en una cadena constante
$ foo=a:b:c; echo ${foo##*:}
c
Ahora, si el "a: b: c" cadena es constante, me gustaría tener una solución más concisa como:
echo ${"a:b:c"##*:}
Sin embargo, esta no es una sintaxis bash válida. ¿Hay alguna forma de realizar esto? [La razón por la que necesito hacer esto (en lugar de hardcoding el resultado de la sustitución, es decir, "c") es porque tengo una plantilla de comando donde un marcador de posición "% h" es reemplazado por algo antes de ejecutar el mando; el resultado de la sustitución es visto como una constante por bash]
Si las cadenas están delimitadas con un delimitador constante, ¿por qué no utilizar 'awk' o' sed'? –
Sí, también es una opción válida, solo tenía curiosidad sobre cómo se podría hacer esto con los operadores de cadenas de bash, lo cual es un poco más elegante en mi opinión. – a3nm