本日の課題:シェルスクリプトの作成
本日の実習の内容+αを用いて、架空のユルキャラの人気投票を集計してみましょう(なお, この人気投票はフィクションです. 実在の人物, 団体, キャラとは何の関係もありません).
課題概要
以下の四つのユルキャラの人気投票を行いました.
- さだまる(SADAMARU)
- ぐんかんちゃん(GUNKANCHAN)
- ふうかちゃん(FUUKACHAN)
- しまねこ(SHIMANEKO)
投票結果は vote001, vote002, ..., vote100 までのテキストファイルです. 中身にはそれぞれ好きなキャラの名前のみが書かれています.
例: vote001 がしまねこへの投票用紙だった場合
しかしながら, 投票結果には誤字や余計な文字が書かれていたり, 二重投票(一つの投票用紙に二名以上の名前が書かれている)されている無効票も含まれています.
例: vote004が無効票の(この場合は余計な空白ができている)場合
このことを踏まえて result_file というテキストファイルを作成し, 投票結果を集計してください.
以下にもう少し詳しい説明を書きます.
課題詳細
今回の課題の完成例はこうなります. 参考にしてください. なお, 皆さんにお配りするデータとは別のデータを用いているのでこのままコピペすることはできません.
- データは以下のアドレスに tar.gz で圧縮されています. 今回の実習で行った解凍を行ってください.
- http://www.ep.sci.hokudai.ac.jp/~inex/y2014/0425/practical/kadaidata/homeworktype1.tar.gz (joho01-joho05 まで)
- http://www.ep.sci.hokudai.ac.jp/~inex/y2014/0425/practical/kadaidata/homeworktype2.tar.gz (joho07-joho11 まで)
- http://www.ep.sci.hokudai.ac.jp/~inex/y2014/0425/practical/kadaidata/homeworktype3.tar.gz (joho13-joho17 まで)
- http://www.ep.sci.hokudai.ac.jp/~inex/y2014/0425/practical/kadaidata/homeworktype4.tar.gz (joho19-joho23 まで)
$ wget http://www.ep.sci.hokudai.ac.jp/~inex/y2014/0425/practical/kadaidata/homeworktype1.tar.gz
- kadai ディレクトリを自分のホームディレクトリに作成し, 作業成果はこの中に入れてください.
- 作成スクリプト名は totalization.sh としてください. また, ちゃんと実行権限を与えてください.
- キャラごとにそのキャラの名前のディレクトリを作成し, 投票結果を入れてください. 無効票は invalid というディレクトリを入れてそこに入れてください.
- 具体的に以下のディレクトリを作成してください
- sadamaru
- gunkanchan
- fuukachan
- shimaneko
- invalid
- 具体的に以下のディレクトリを作成してください
- 投票結果を仕分けするときには [キャラ名] + [連番] としてください.
- 例: SADAMARU への投票だった場合
- sadamaru001, sadamaru002, ...
- 例: SADAMARU への投票だった場合
- 無効票の場合は特に検査済みのあかしとして一行目の最後に CHECKED を加えてください.
- 例:無効票vote004だった場合
- 投票結果には最低限[キャラの名前]と[そのキャラへの有効数]をまとめてください. 形式は問いませんので工夫してください. まとめるファイルは result_file という名前にしてください. 以下はresult_fileの例です.
提出内容
以下のものを suu に投稿してください. その際, それぞれ対応するタグに投稿してください.
- 作成したシェルスクリプト全文 (タグ : [2014] 3-1. シェルスクリプト本文)
- 工夫, または苦労した点. (タグ : [2014] 3-2. 課題に関するコメント等)
- 作業協力者がいればその名前, 参考文献(人のレポートを参考にした場合もちゃんと書くこと). (タグ : [2014] 2-2. 課題に関するコメント等)
- 今回の作業がちゃんとできているかを確認する自分流の確認法.(タグ : [2014] 2-2. 課題に関するコメント等)
- その他コメントなど. (タグ :[2014] 3-2. 課題に関するコメント等)
注意点
- 情報実験機で作業する場合には本日の事前準備を参考に x window system を立ち上げる.
困ったときは
- わからないことがあったらまずは文献(過去のレポート含む)あるいはインターネット上の検索エンジンを利用しましょう.
- やっぱりわからないときは友達と相談しましょう.
- どうしてもわからないときは inex2014-ml を活用しましょう. 同じような疑問を持っている人の助けになるかもしれません.
- もちろん直接 TA・VTA をつかまえてもけっこうです(8 号館二階にいると思います).
ヒント
- やり方は一通りではない. どうすれば一番楽か作業の順序立てを最初に考えよう.
- コマンドの使い方が分からなくなったらman で調べよう!
- 沢山のファイルに同じ処理を施すには, メタキャラクタや ループ処理が便利.
- パイプを活用して 複数のコマンドを組み合わせてみよう.
- 一つのコマンドでも コマンドラインオプション によって様々な機能を発揮します. man や www サイトで いろいろ調べてみるべし.
- cat, grep,sed等のよく使われる便利なコマンドを調べてみよう!
- ヒントに囚われず, 自由な発想をしよう!!
<< 戻る (データ圧縮・解凍とアーカイブ) 最初へ >> (実習の前準備) 情報実験 第 3 回 のトップへ >>