MySQL Bash for ループ

MySQL Bash for ループ

MySQL_query_table

「Course Column」に基づいて複数のディレクトリを作成しました。

例:

/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/

同じにのみ適用されます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

これを行う方法のアイデア。

ベストアンサー1

おすすめ記事