ITPASS 実習レポート 1

B3 藤島 美保
担当情報実験機 joho08

問1 画像ファイルの名前を修正し、動画を作成するスクリプト

*シェルスクリプトのURL

http://itpass.scitec.kobe-u.ac.jp/~fmiho23/report01/scripts/quiz1.sh.txt

*スクリプトの使い方の説明

複数のディレクトリに分かれて置かれている地球の気象衛星画像を1つのディレクトリに収納することができます。
また、画像の名前変更を行い、その複数の静止画像からgifアニメーションを作成することができるスクリプトです。

まず、スクリプトファイルをダウンロードした後、拡張子を.txtから.shへと変更してください。
ファイルのパーミッションの確認を「ls -la」で行ってください。
ユーザーパーミッションに実行許可が与えられていない場合は「chmod u+x quiz1.sh」と入力して実行許可を与えてください。
実行許可が与えられたら、「./quiz1.sh 」と入力して、スクリプトを実行してください。
上記の結果が得られます。

配布された画像ファイルのデータはITPASSサーバ上から情報実験機にコピーしてホームディレクトリに持ってきました。

*実行例へのリンク

http://itpass.scitec.kobe-u.ac.jp/~fmiho23/report01/example/quiz1.txt

*実行結果へのリンク

http://itpass.scitec.kobe-u.ac.jp/~fmiho23/report01/results/result_1.gif

*参考資料

「Linuxコマンド集 INDEX」
http://itpro.nikkeibp.co.jp/article/COLUMN/20060224/230573/?ST=oss
コマンドの使い方を調べる際に参考にしました。

「シェルスクリプトの事例1」
http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/command/script3.html
名前を変更する際にif文の条件式を参考にしました。

*共同作業した人の名前

いません

*工夫したこと・感想

while文でjpgファイルを新しいディレクトリに移す作業をまとめることができましたが、名前変更のスクリプトでうまくwhile文を使うことができず名前を二度変更することになってしまいました。名前変更が一番難しかったです。


問2 ゆるキャラグランプリ2012の結果を解析するスクリプト

*修正後のシェルスクリプトのURL

http://itpass.scitec.kobe-u.ac.jp/~fmiho23/report01/scripts/quiz2.sh.txt

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

都道府県を指定することで、ゆるキャラグランプリ2012における各都道府県でのゆるキャラランキングを見ることができます。
また、指定された都道府県の得票数が全国の得票数の何%であるかも知ることができます。

まず、下記の「name.txt」という都道府県名が書かれたファイルをダウンロードしてください。
次にスクリプトファイルをダウンロードして、拡張子を.txtから.shへと変更してください。
ファイルのパーミッションの確認を「ls -la」で行ってください。
ユーザーパーミッションに実行許可が与えられていない場合は「chmod u+x quiz2.sh」と入力して実行許可を与えてください。
実行許可が与えられたら、「./quiz2.sh 兵庫県」のように実行と同時に都道府県を指定してください。
その際は必ず都,道,府,県まで入力してください。
一度に2つ以上の都道府県のランキングは見ることができません。
入力するとその都道府県におけるゆるキャラランキングが表示されます。

都道府県名が書かれたファイル
http://itpass.scitec.kobe-u.ac.jp/~fmiho23/report01/others/name.txt

ゆるキャラグランプリ2012の結果がまとまったデータファイルはIT pass [Exp2013]シェルスクリプト課題のページからhttps://itpass.scitec.kobe-u.ac.jp/~itpass/exp/fy2013/130809/practice_kadai/yuruCharaRanking.datのページにとび、yuruchara.datという名前を付けてホームディレクトリに保存しました。

*修正後の実行結果へのリンク

http://itpass.scitec.kobe-u.ac.jp/~fmiho23/report01/results/result_2.txt">

*参考資料

「Linuxコマンド集 INDEX」
http://itpro.nikkeibp.co.jp/article/COLUMN/20060224/230573/?ST=oss
コマンドの使い方を調べる際に参考にしました。

「printfコマンドについてメモ」
http://open-groove.net/shell/printf/
printfコマンドの使い方を調べました。

「シェルスクリプト -浮動小数点演算-」
http://d.hatena.ne.jp/tutaka777/20071109
小数点を含んだ計算をする際に整数部が0の場合でも出力される方法を調べるのに参考にしました。

*共同作業した人の名前

岡崎正悟
提出したシェルスクリプトでは使ってませんが、存在しない都道府県が指定された場合のエラーの処理方法として文字列の長さを調べるコマンドを岡崎くんに教えてもらいました。

高木涼太
bcコマンドで計算式をうまく読み込んでもらえなかった時に高木くんにアドバイスをもらいました。

*工夫したこと・感想

ランキングを出力する時に、得票数やエントリーNO.などを一度に並び替えることができるようにprintfをawkの中に入れて工夫しました。 また、都道府県名が書かれたファイルを作り、その中身と入力された都道府県名が一致するかどうかでエラー処理を行いました。ただし、「〜内のゆるキャラランキング」と表示するように設定しているため、必ず「〜県」と入力してもらう必要がでてきました。都,道,府,県まで入力しない場合にもエラー表示が出るようにするにはどうしたらいいかまた考えてみたいと思います。

今回提出したシェルスクリプト以外にもいくつか作ったスクリプトがありましたが、そのどれもが「山」の一文字に反応してしまったりうまくエラー表示が出なかったりと問題がありました。その問題点についてもどうしたら解決するのか検討していきたいです。
(修正点)「-w」ではなく「−x」を使うことで解決しました。単語のマッチングではなく行のマッチングを行わなければいけませんでした。

自分で複数のスクリプトを作ってみて、一つの作業を行うのにも様々なスクリプトの書き方があり、スクリプトはコマンドの組み合わせ次第なんだということがわかりました。複雑そうに見えるスクリプトもコマンドがわかればきちんと流れが見えるようになったので、まずはコマンドを知ることが大事だなと思いました。


○レポート作成の際に参考にした資料○

「HTMLの書き方」
http://www.nsknet.or.jp/~kmg/htmindex.htm
HTMLを書くにあたってHTMLの文書構造やレイアウト、URLをリンクする方法について参考にしました。

「IT pass [Exp 2013]シェルスクリプト課題」
https://itpass.scitec.kobe-u.ac.jp/~itpass/hiki/hiki.cgi?%5BExp2013%5D%A5%B7%A5%A7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%B2%DD%C2%EA#BC-F8-B6-C8-BB-FE-B4-D6-B3-B0-A4-CE-A5-EC-A5-DD-A1-BC-A5-C8-BA-EE-C0-AE-A4-CB-A4-C4-A4-A4-A4-C6
レポートのテンプレートを使わせていただきました。

○レポート作成の際にお世話になった方々○

TAの河合さん、関さんをはじめ研究室の皆さんにたくさん質問をしてしまいましたが、わかりやすく教えてくださったおかげでレポートを完成させることができました。
ありがとうございました。