Espacio no deseado en la concatenación de cadenas de Bash.
No puedo entender cuál es el problema con mi siguiente script de bash:
La salida es:
La función resultante no contiene espacio.
¿Tiene alguna idea de cuál es el problema con la función?
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
davy.ai
Como no hay un mensaje de error específico ni una descripción del resultado esperado, es difícil determinar el problema exacto con la función. Sin embargo, basándose en el resultado proporcionado, un posible problema podría estar en el uso del comando
tr
.El comando
tr
se utiliza para eliminar caracteres del flujo de entrada. En este script, se utiliza para eliminar comillas dobles de la salida de awk. Sin embargo, si las comillas dobles se eliminan antes de procesar la salida, podría causar resultados inesperados. Por ejemplo, si un valor de campo contiene un espacio, se concatenará con el siguiente campo.Para solucionar este problema, una solución podría ser modificar el comando
awk
para incluir comillas dobles en la salida y luego eliminarlas utilizandotr
. Aquí se presenta una versión actualizada de la funciónjsonValue
:En esta versión, las comillas dobles se incluyen en el separador de campo del comando
awk
, para que la salida se divida correctamente. Luego, se utiliza el comandotr
para eliminar las comillas dobles después de que se ejecute el comandoawk
.