ITPASS 実習レポート 1

名前 小寺啓太

担当情報実験機 joho2

問 1

スクリプトの URL

quiz1.sh.txt

スクリプトの使い方の解説

このスクリプトを任意のディレクトリに保存し、ファイル名をquiz1.shとする。 次にquiz1.shに実行権限を与える。 ITPASSサーバにあるkadai1_data.tar.gzをスクリプトを保存したディレクトリにコピーしし、tar xvzf ./kadai1_data.tar.gzとして圧縮ファイルkadai1_data.tar.gzを展開する。するとkadai1_dataというディレクトリがquiz1.shを保存したディレクトリ内にでき、その中にスクリプトで用いるcsvファイルがある状態になる。そのcsvファイルをquiz1.shがあるディレクトリ内に移動させる。 スクリプトを実行すると結果が表示される。

実行結果へのリンク

問題1の実行結果

参考資料

awkコマンドの基本 - Qiita

awkコマンドの使用方法について調べた。

while文の使用方法 | UNIX&Linux コマンド・シェルスクリプト リファレンス

while文の無限ループについて調べた。

工夫したこと, 感想

最高気温がどの列に記されているかを探すのが非常に難しかった。日が早い順に並べ替えたあと、平均気温の高い順に並べ替える際にsortコマンドを使用したが、区切り文字を,から/にして、月だけ、日だけの比較ができるようにした。txtファイルが大量にでき、また、一回実行したあとtxtファイルを消さずにもう一度スクリプトを実行すると、おかしな出力になるので、最後にrm *.txtでファイルを消去している。

問 2

スクリプトの URL

quiz2.sh.txt

スクリプトの使い方の解説

まずこのスクリプトを任意のディレクトリにコピーし、ファイル名をquizu2.shにする。そして実行権限を与える。 ITPASSサーバにあるkadai2_data.tar.gzをスクリプトを保存したディレクトリにコピーし、tar xvzf ./kadai1_data.tar.gzと打ち込んで圧縮ファイルkadai2_data.tar.gzを展開する。するとquiz2.shが保存されているディレクトリ内にkadai2_dataというディレクトリができ、その中にスクリプトで用いるcsvファイルがある状態になる。このcsvファイルをquiz2.shがあるディレクトリに移動させる。 スクリプトを実行すると、出力結果が表示される。

実行結果へのリンク

問題2の実行結果

参考資料

grepコマンド(ファイル内の文字列を検索する)

grepコマンドの使用方法について調べた。

pasteコマンドについて詳しくまとめました 【Linuxコマンド集】

pasteコマンドの使用方法について調べた。

工夫したこと, 感想

地域名が完全に一致しないと次に進めないようにすることが難しかった。grepのオプションxを使うことと、都道府県名だけ、市町村名だけの列のファイルを作ることで、正しい地域名が入力されたときのみ、次に進むことが可能になり、数字やおかしな文字列を打ち込んでも進めないようにできた。光害指数が小さい地域を見つける際の計算量が多く、動作が遅いことがこのスクリプトの難点だが、そこを解決することができなかった。txtファイルがたくさんできるが、最後にrm *.txtで削除している。