ITPASS 実習レポート 1

B3 滝口 裕子
担当情報実験機 joho05

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

■ スクリプトの URL

課題1のスクリプト

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

このスクリプトでは、複数のディレクトリに分かれている画像ファイルを1つのディレクトリの下に統合します。
その後、日付順になっている画像ファイルに番号を振り、その番号に名前を変換した上で、一連の画像を連続再生させるgifアニメーションファイルを作ります。

まずスクリプトをダウンロードして、拡張子を.shに変更してください。その後、"chmod u+x quiz1.sh"で実行権を与えた後、./quiz1.sh で実行してください。

元の気象画像は、ITPASSサーバから自情報実験機にコピーしてきました。

■実行例

課題1の実行例

■実行結果へのリンク

課題1の実行結果

■ 参考資料

IT pass Hikiwiki[Exp2013]
各種コマンドを参照しました。
mozukumaの技術系メモ
ファイルを一括リネームする際に参考にしました。

■ 共同作業した人の名前

藤島美保、堀之内龍一
whili文でファイルをコピーするコマンドに関してうまく実行できない時、相談して改善しました。

■ 工夫したこと, 感想

jpgファイルの名前を変更するとき、当初while文を使おうとしたのですが、うまく行かず、結局一括してリネームする方法を取りました。
ただ、この方法は元のファイルのが日付順に並んでいなければ成功しないので、他にも応用できるかは自信がありません。

問 2 ゆるきゃらグランプリ2012の結果を解析するシェルスクリプト

■ スクリプトの URL

課題2のスクリプト

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

このスクリプトを実行して任意の都道府県名を入力すると、
・各都道府県内のゆるきゃらが獲得した票の,全国に占める割合(%)
・各都道府県内のゆるきゃらランキング
が表示されます。
入力する都道府県名は、特に"都","県"まで入力しなくても構いません。

まず、スクリプトをダウンロードして、拡張子を.shに変更してください。
次に、以下のURLにある、都道府県一覧をまとめたtodouhuken.txtをダウンロードし,拡張子を.datに変更してください。
その後、"chmod u+x quiz2.sh"で実行権を与えて、"./quiz2.sh ○○"での○○に任意の都道府県名を入力してください。都道府県名は、特に"都","県"まで入力しなくても構いません。
なお、一度に一つの都道府県の入力しかできません。

○todouhuken.txtへのリンク
都道府県一覧

■実行例・結果

課題2実行例

■補足

上記の実行例・結果ではスクリプトがうまく作動した場合を乗せていますが、全都道府県を試したところ、
・北海道
・宮城県
・三重県
・滋賀県
・鳥取県
・広島県
・山口県
でうまく作動しませんでした。その結果は以下のリンクにあります。 失敗例 このように、大元のゆるきゃらランキングデータと比較しても、序列自体は間違っていないのに、得票数だけ0ptと表示されてしまいました。検証した結果、スクリプトの24行目 #sed -e 's/,//g' ./yCRs$1.dat > ./yCRs$1.2.dat のコマンドを実行した際に、カンマが除かれた結果、ゆるきゃらの名前に入っている全角スペースが文字列の区切りとして認識されてしまい、結果行がずれて正しく表示されなくなった事が原因として考えられました。しかし、同様にしてゆるきゃらの名前に全角スペースが入っている他の都府県(ex.高知県の場合などは正しく表示されますので、どこか他に原因があると考えられましたが、時間内にはその原因は突き止められませんでした。

■ 参考資料

UNIXの部屋
codezinコマンド辞典
各種コマンドを参照しました。
新米一年目
小数点第一位しかない得票率の場合、どう一の位を表示させるか、というときに参考にしました。このHPは藤島さんのレポートを参考にさせてもらいました。

■ 共同作業した人の名前

堀之内龍一
結果を出力するときに文字を揃えるprintfコマンドについて教えてもらいました。

■ 工夫したこと, 感想

得票数計算で当初、全国得票数と県別得票数を別のファイルに出力して計算する手法を取ろうとしていたのですが、それができませんでした。
その方法を見つけられなかったのと、正しく表示されない道県が8つあった原因が分からないのが心残りです。
なるべくシンプルにするよう心がけ、そのために、ファイルの加工(カンマの削除や降順ソート)は最初の段階でやらせるようにしました。

全体の感想としては、スクリプトを組み上げるために、どういう順番に基づいてコマンドを構成するか、それを考えるのが一番難しかったです。まずコマンドを知らなければならないし、単純なハイフンやスペースといった記号の意味まで把握しなければならにことを痛感しました。普段ワードやエクセルしか使っておらず、普段は計算機としてのコンピュータを実感することはなかったのですが、今回良くわかりました。

■ htmlを書く際に参考にしたURL

ホームページ作成講座
ホームページの書き方の参考にしました。
レポートのテンプレート
テンプレートをお借りしました。

■最後に

実習を通して、TAの河合さん、関さんをはじめ、先生方に本当にお世話になりました。
プログラミングに関しては、以前習った時に全く分からず、当初本当に苦手意識しかなかったのですが、おかげさまで逃げるようなことはしなくなりそうです。ありがとうございました。