MySQL Bash for 循环

MySQL Bash for 循环

MySQL_查询_表

我根据“课程专栏”创建了一堆目录

例子:

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

我有一堆 json 文件示例:

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

上述这些文件需要放置在它们的目录中:

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/

我将使用一个名为“INFO”的变量从 SQL 中提取此查询。

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

然后在文件“.json”末尾添加扩展名,如下所示"0e689686-4f5a-4800-90ac-771cfe228532.json",最后将文件从源目录移动到/tmp/Caldera/only 中。

仅适用于相同bb6632cc-633a-4cc9-9188-1407d7c9cf38.json ---> /tmp/Basic Navigation/

我想我需要使用 for 循环,例如:

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

课程参考{lesson}附图中的专栏。示例/tmp/Caldera如上。

bash 应该以某种方式检查$3并将其移至$5.这才是真正的问题。

关于如何执行此操作的任何想法。

相关内容