しずくぶろぐ

競技ぷろぐらみんぐしたり、なんかしたりします

退屈なことがあったのでプログラミングをしてみた(3)

こんにちは. オンラインでいっぱい授業を受けています,綿谷雫です. 今日はオンライン授業をどうやったら楽に受けられるかということを試行錯誤した結果についてお話しします.

授業について

オンライン授業の様子がよくわからない方に向けてそもそもオンライン授業の説明をします,

オンラインで授業を受ける場合,各授業が行われるZoomのリンクをクリックしてZoomに入って授業を受けるという受け方が多いです. Zoomのリンクは各授業のページにありますが,直前になってリンクを観に行くのは大学のページが落ちる可能性があるのでリスキーであり,大学からも前日にURLを控えておくことが推奨されています.

おそらく大体の学生はメモ帳だかなんだかにurlをメモっていて授業の時間にurlをコピペだかクリックをしているのだと思います. ここでマウスを使う必要があるのがとても悔しいですね,

簡単なまとめ

授業まえにマウスを使う必要があることが悔しいのでターミナルで各授業のリンクに飛べるようにしました.

やったこと

まず,次のようなタイムテーブル(Time_table.txt)を作りました.Zoomのurlは外に流してはいけないので仮のものを置いています.

Monday
Mon1, 異邦探検論, http://ihotannkennronn
Mon2, 扁平描写学, http://henpei
Mon3, 蓬莱演習, http://hourai
Mon4, ギヤマン史, http://diamante
Tuesday
Tue2, Academic lighting, http://acli
Tue3, 多面体鑑賞特論, http://tamenntai
Tue4, スポーツ身体雅楽, http://shinntaigagaku
Friday
Fri3, 浸炭演習, http://shinntann
Fri4, 将来設計論, hhtp://shouraisekkei

続いて次のようなスクリプト(lookup)を書き,タイムテーブルと同じディレクトリに置きました.

echo "Which lecture are you looking for?"
read lec

read url <<< $(
    cat Time_table.txt |
    grep "$lec" |
    awk -F',' '{print $3}'
    )
open ${url}

スクリプト

chmod u+x lookup

で使えるようにします.

そうしたら授業前にタイムテーブルがあるディレクトリで次のように入力し

./lookup

授業の名前か,曜限を入力してやれば,授業に跳べます.

コード解説

read url <<< $(
    cat Time_table.txt |
    grep "$lec" |
    awk -F',' '{print $3}'
    )
open ${url}

このコードについての解説

read url <<< $(~)

これで~の処理で出されるurlを$urlに渡しています.

 cat Time_table.txt |
    grep "$lec" |

Time_table.txtの中のうち文字列"$lec"が含まれる列を次のawkに渡しています.

awk -F',' '{print $3}'

カンマで区切ったものの3つ目の要素を表示させています.

環境

macOS Big Sur 11.2.3 zsh

macなのでopenが使えるというのと,zshなのでbashでできると言われていたことができませんでした.

今後の展望

urlの後ろにタグ的な内容をつけることであやふやな名前しか覚えていなくても飛べるかも. 時間を取得すれば今やってる講義だけに飛べるかも