¿Cómo puedo convertir la salida del comando de shell en una matriz para poder imprimir variables como uniqueMetrics[0] , uniqueMetrics[1] etc.?
const uniqueMetrics = await execShellCommand('aws cloudwatch list-metrics --namespace AWS/ApiGateway | jq -r .Metrics[].Dimensions[].Name | sort -u') console.log(uniqueMetrics); output:
ApiId ApiName Stage Parece que los datos se devuelven de la siguiente manera con \r y \n .
[ 'ApiId\r\nApiName\r\nStage\r\n' ]Así que supongo que primero tendría que buscar y reemplazar estas cadenas. ¿Estoy pensando bien?
Debería poder usar la función String.split ():
let uniqueMetricsArray = uniqueMetrics.split('\r\n');Para una mejor compatibilidad, podría tener sentido hacer que funcione tanto para \r\n como solo \n usando RegExp:
let uniqueMetricsArray = uniqueMetrics.split(/\r?\n/);