URLquiz1.sh.txtスクリプトの使い方の解説テキストファイル内の単語について、一文字ずつアルファベットをずらし、元の単語を調べるスクリプトです。スクリプトをホームディレクトリにコピーし、ファイル名をquiz1.shに変更してください。ITPASSサーバー上から、ホームディレクトリにコピーしてください。キーで実行してください。http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1351454743大文字、小文字それぞれを大きさを変えずに変換する際のヒントになりました。http://www.wdic.org/w/WDIC/%E3%82%B7%E3%83%BC%E3%82%B6%E3%83%BC%E6%9A%97%E5%8F%B72.3.ではテキストをn文字ずらす方法を調べました。http://itpass.scitec.kobe-u.ac.jp/~ikedaryo/report01/index.html提出されたレポートの、結果を同じファイルに上書きするアイデアを参考にしました。実行時引数にファイル名を指定する方法を教えてもらいました。元のファイルは単語ごとに改行されていました。ファイル内の改行を削除すると、26個の結果すべてが一行で表示されてしまい、実行例のようになりませんでした。高橋先生に、ファイル内の改行をスペースに変換し、最後に新たな改行を付け加える方法について教えていただきました。ありがとうございます。大文字、小文字をそれぞれ一文字ずつずらす方法は思いつきました。実行例のように文頭のみ大文字にし、あとは小文字に変換する方法については、ファイル内をすべて小文字にしてからsedコマンドで最初の文字だけ大文字にする、改行を消す前に2行目以降のみ小文字にするなど、コマンドを試行錯誤しましたが、思うようにうまく行きませんでした。trコマンドで一度に数文字ずらす方法と、一字ずつずらす作業を繰り返す方法をどちらも試しました。前者の場合はどうしてもtrコマンドを26回繰り返す方法しか思いつかず、後者ならばfor文やwhile文を駆使すれば短く書けそうだと考え、後者を採用しました。一字ずらす作業を26回行えばいいのではと単純に考えていたのですが、一文字ずらした結果を同じファイル(shift-0.txt)に上書きすることができませんでした。そこで、間にもうひとつのファイル(shift-1.txt)を作って、それを一字ずらしたものをはじめのファイルに上書きする、という方法にし、これを13セット行うことで26字分ずらしました。引数が多すぎます」というエラーが出るのですが、修正の方法がわからなかったので断念しました。URLquiz2.sh.txtスクリプトの使い方の解説これは、2005年〜2014年の過去10年間について1、猛暑日(最高気温35度以上の日)の日数2、真夏日(最高気温30度以上の日)の日数3、夏日(最高気温25度以上の日)の日数を数えるスクリプトです。はじめにスクリプトをホームディレクトリにコピーし、ファイル名をquiz2.shに変更してください。ホームディレクトリにコピーしてください。フォルダーを、スクリプトと同じディレクトリに置きます。表示に従って数字を入力すると、結果が表示されます。選択肢以外の数字を入力するとエラーメッセージが表示されます。http://itpro.nikkeibp.co.jp/oss/sed,awk,trコマンドの使い方を調べました。https://hydrocul.github.io/wiki/commands/sed.htmlsedコマンドの書き方の参考にしました。日数を数える原理や、for文やcase文で、スクリプトを短くできることを教えてもらいました。各月のデータをひとつのファイルにまとめる際、ファイル名が各月のものと重ならないようにすると、自分で作ったファイルのみ消せることに気づきました。スペースや記号の使い分けひとつがエラーの有無につながるという場面に何度か遭遇しました。プログラミングの厳密さの感覚にまだ慣れない部分が多く、もっと精進が必要だと感じました。気温を変数として扱うともっとシンプルに場合分け出来そうでしたが、コマンド中でそれをうまく表現できませんでした。