MySQL Bash para loops

0

Eutenhováriosdiretórioscriadosdeacordocoma"coluna da lição"

exemplo:

/tmp/Caldera/ 
/tmp/Basic Navigation/
/tmp/Signs and Symbols/

Eu tenho um monte de arquivos json exemplo:

0e689686-4f5a-4800-90ac-771cfe228532.json
bb6632cc-633a-4cc9-9188-1407d7c9cf38.json
1a9e620f-253a-44ee-a68d-11fb7fe8d082.json 

Esses arquivos acima precisam ser colocados em seu diretório:

0e689686-4f5a-4800-90ac-771cfe228532.json ---> /tmp/Caldera/
bb6632cc-633a-4cc9-9188-1407d7c9cf38.json ---> /tmp/Basic Navigation/
1a9e620f-253a-44ee-a68d-11fb7fe8d082.json ---> /tmp/Signs and Symbols/

Eu usaria uma variável chamada "INFO" para extrair essa consulta do SQL.

echo "$INFO" | awk '{ print $3 }' 

adicione uma extensão ao final do arquivo ".json" para parecer com "0e689686-4f5a-4800-90ac-771cfe228532.json" , finalmente mova o arquivo do diretório de origem para /tmp/Caldera/ .

Mesmo para bb6632cc-633a-4cc9-9188-1407d7c9cf38.json ---> /tmp/Basic Navigation/ .

Acho que precisaria usar um loop for, algo como:

INFO=$( /usr/bin/mysql -s 
--password=$MYSQL_PASSWORD 
--user=$MYSQL_USER 
--host=$MYSQL_HOST 
--database=$MYSQL_DB 
--disable-column-names 
--execute="SELECT 
    cl.uuid AS compiled_lessons_uuid,
    cl.videos_uuid, 
    cl.assessments_uuid,
    cl.lessons_uuid, 
    les.name AS lesson 
FROM 
    compiled_lessons cl 
JOIN 
    lessons les 
ON 
    les.uuid = cl.lessons_uuid;" )

SOURCE_DIR="/opt/assessments/

for line in $( cat echo "$INFO" | awk '{ print $3.json }' ) ; do

    mv "$SOURCE_DIR"/$line /tmp/{lesson}/

done

A lição está se referindo à coluna {lesson} na foto anexada. exemplo /tmp/Caldera como acima.

De alguma forma, o bash deve verificar $3 e movê-lo para $5 . Essa é a verdadeira questão aqui.

Qualquer ideia sobre como fazer isso.

    
por Nicholas Green 23.04.2018 / 09:00

0 respostas

Tags