ITPASS 実習レポート 1

名前:武林仁樹

担当情報実験機:joho07

問 1

この問題は未完成で終わりました。

【修正後】スクリプトの URL

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

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

1, chmod 755 quiz1.shを実行する。

2, ./quiz1.shを実行する。 なお今回使用したデータは https://itpass.scitec.kobe-u.ac.jp/~itpass/exp/fy2012/120601/report/list_a.txt から本文をコピーして自分で作成した ~/homework/workdata.txt に張り付けて使用しました。

3, リストの内容が「タイトル、性、名」の順で辞書順に並ぶリストが表示される。 ただし「名」はイニシャルになっていません。

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

http://itpass.scitec.kobe-u.ac.jp/~takeba13/report01/results/quiz1.txt

未完成の理由

cut で , を境に区切ったフィールドの1、2番目と3番目のフィールドのうち先頭の文字だけを切り出そ うとしました。しかし、cutのオプションコマンドにはフィールド単位の区切り方か文字単位の区切り方しかないので、私の発想ではこのオプションが同時に使えることが必要なので、うまくいきませんでした。

その他の方法として sed を使って3番目のフィールドを1行ずつそれぞれのイニシャルに置換することも 考えましたが、リストの内容数が膨大なればほとんど使えないため、却下しました。

参考資料

Arnold Robbins & Nelson H.F.Beebe 著 日向あおい 訳「詳解 シェルスクリプト」

sort,awk,cutなどシェルスクリプトの基本的なコマンドを学ばせていただきました。 オプションの使い方も含めてこの問題はほぼこの本で解きました。

「UNIX & Linux コマンド・シェルスクリプト リファレンス」

パイプの使い方を学ばせていただきました。

共同作業した人の名前

特にいません。

工夫したこと, 感想

工夫してコマンドの組み合わせをうまくやらないと、応用のきくスクリプトができないことが非常に大変でした。

問 2

【修正後】スクリプトの URL

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

 

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

1,chmod 755 quiz2.sh を実行する。

2,./quiz2.sh を実行する。このとき

1] 確認メッセージあり、転送元・転送先ディレクトリの指定がない場合 引数なしで実行。 コマンドの実行の確認がでるので、良ければy、キャンセルするのであればnを入力。

2] 確認メッセージなし、転送元・転送先ディレクトリの指定がない場合 引数は1つ:どんな引数でも可。

3] 確認メッセージあり、転送元・転送先ディレクトリを引数で指定する場合 引数は2つ:1番目の引数に転送元のディレクトリを、2番目の引数に転送先のホスト名、 ディレクトリを入力。 コマンドの実行の確認がでるので、良ければy、キャンセルするのであればnを入力。

4] 確認メッセージなし、転送元・転送先ディレクトリを引数で指定する場合 引数は3つ:1番目の引数は自由に、2番目の引数に転送元のディレクトリを、3番目の引数に転送先のホスト名、 ディレクトリを入力。

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

 http://itpass.scitec.kobe-u.ac.jp/~miyacchi/report01/results/quiz2.txt    

参考資料

「ITPASS実習」

if文とcase文の書き方について調べました。

共同作業した人の名前

高橋芳幸先生: 引数について時間をとっていただき、説明をしてくださいました。

工夫したこと, 感想

確認メッセージのところでyやn以外が入力されても対応できるようにしました。 私自身の引数の当初の理解が誤っていましたが、高橋先生のおかげで何とか完成にこぎつけました。

なお、このレポート全体の書き方を2011年度ITPASS実習の 宮田誠也さんの実習レポート を参考にさせていただきました。