ITPASS 実習レポート 1

名前 池田 諒

担当情報実験機 joho01

問 1

スクリプトの URL

quiz1.sh.txt

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

まずこのスクリプトを任意のディレクトリにコピーし、ファイル名をquiz1.shに変更してください。

そして実行権限を与えてください。

次にITPASSサーバ上のkadai1-1_data.txt kadai1-2_data.txt kadai1-3_data.txtの3つのファイルをこのスクリプトと同じディレクトリにコピーしてください。

次にスクリプトを実行してください。

実行コマンドの直後にkadai1-1_data.txt kadai1-2_data.txt kadai1-3_data.txt のいずれかを入力してからEnterキーを押してください。

すると入力したファイルの結果が表示されます。

以上の3つ以外の実行時引数を入力するとプログラムが終了されるので改めて実行し直してください。

実行結果へのリンク

問1の実行例

参考資料

ITPRO by 日経コンピューター Linuxコマンド集 INDEX
コマンド全般の使い方を調べるときに利用しました。

シェルスクリプトでyes or no
case文を使用するときの参考としました。

田中さんのレポート
単語間を半角一文字にする方法を利用させてもらいました。

共同作業した人の名前

田中もも :結果を1行で表示することについて教えてもらいました。

工夫したこと, 感想

大文字と小文字を同時に処理する方法が分からなかったので、はじめに小文字、次に大文字というように二段階の過程を作ってみました。

この過程を一段階で処理できればもう少し計算速度が上がるかと思います。

問 2

スクリプトの URL

quiz2.sh.txt

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

まずこのスクリプトを任意のディレクトリにコピーし、ファイル名をquiz2.shに変更してください。

そして実行権限を与えてください。

次にITPASSサーバ上の気象データkadai2_data.tar.gzをこのスクリプトと同じディレクトリにコピーしてください。

このデータは圧縮されているのでtarコマンドを用いて展開してください。

展開されたデータがkadai2_dataというディレクトリに入っていることを確認してください。

次にスクリプトを実行してください。

表示したいデータを問われるので1,2,3いずれかの数字のみを入力してください。

すると入力した選択肢の情報が表示されます。

1,2,3以外の文字を入力した場合は再び表示したいデータを問われるので正しい番号を入力してください。

実行結果へのリンク

問2の実行例

参考資料

ITPRO by 日経コンピューター Linuxコマンド集 INDEX
コマンド全般の使い方を調べるときに利用しました。

1行ずつのファイル読み込み
ファイル内のデータを一行ずつ読み込む方法を調べるときに利用しました。

【シェルスクリプト】小数点以下を切り捨てたい 小数を切り捨てて整数に変換する方法を調べるときに利用しました。

[awk]文字列の頭からn文字抽出する
}や)を取り除く方法を調べるときに利用しました。

共同作業した人の名前

なし

工夫したこと, 感想

必要な情報は最高気温のデータなので、gawkコマンドを用いて最高気温のデータのみを各年ごとのファイルにまとめました。

この過程が多くの処理を必要とするため、実行時の動作が遅くなってしまいました。

}や)を取り除くために最高気温の列の左から5バイトだけ切り出すという指示を書きましたが、もし-100.0℃などというデータが存在していたらエラーが起きてしまいそうなので、まだ改善の余地があるかと思います。

kadai2_dataのディレクトリ内のデータを読み込む方法についてですが、シェルスクリプトのあるディレクトリから移動せずに読み込む方法が分からなかったのでディレクトリを移動する方法を使用してみました。