ITPASS 実習レポート1

津村 昂甫
担当情報実験機 Joho8

問1
・スクリプトのURL

script

・スクリプトの使い方の解説
「本のタイトル, 著者の名, 著者の性」が複数記入してある文献リストから「本のタイトル,著者の性, 著者の名の頭文字」の順に並び替えたリストを作成するスクリプトです。
bash qiz1a.sh でスクリプトを実行し、文献リストのファイル名を入力すると「result.txt」として新しいリストが作成されます。

・実行結果へのリンク
result
(文献リストlist_a.txt を元に作成されたリスト)

・参考資料
逆引きUNIXコマンド/指定した範囲の行を取得する方法 - Linuxと過ごす (sedコマンドでの行単位の切り出し方)
逆引きシェルスクリプト/スペースが含まれる文字列を1行として扱う方法 - Linuxと過ごす (IFSを変更して区切り文字を改行だけにする方法)
sort ファイルの内容をソートする - UNIXコマンド辞典:CodeZine(コードジン) (sortコマンドによる並べ替え方法)
awk sed 入門 (awkコマンドの使用法、オプションsubstrの使用法)
sedでファイルを上書き保存 (sedコマンドでの文字置換の方法)

・共同作業した人の名前
なし。

・工夫したこと, 感想
大変でした。とても苦労しました。
初めは、著者の名を頭文字だけ表示するようする方法がどうしても分からず、sedコマンドで強引に頭文字以外の部分を削除し("Kawai"の"awai"をsedで置換したり等)、見かけ上、正しいリストを作成するかのようなスクリプトで、list_a.txt以外では正常に処理できない滅茶苦茶なものでした。
なので、substrの使用方を見つけた時には歓喜しました。本当に良かったです。
難しかったけれど、試行錯誤して段々と正解に近付く感じは楽しかったです。

問2
・スクリプトのURL

script

・スクリプトの使い方の解説
chmod 755 quiz2.sh を実行してパーミッションを変更する。
bash qiz1a.sh でスクリプトを実行すると、ローカルにあるディレクトリをITPASSサーバーの指定ディレクトリ以下へコピーするスクリプトです。
引数がない時は、確認メッセージを表示し、転送元・転送先は指定しません。
引数が一つの時は、確認メッセージを表示せず、転送元・転送先も指定しません。この時の引数は任意の文字を入力します。
引数が二つの時は、確認メッセージを表示し、転送元・転送先を指定します。この時の引数は一つ目を転送元、二つ目を転送先を入力します。
引数が三つの時は、確認メッセージを表示せず、転送元・転送先は指定しません。この時の引数は一つ目を任意の文字、二つ目を転送元、三つ目を転送先を入力します。
特に指定のない場合の転送元ディレクトリは ~/test となります。
特に指定のない場合の転送先ディレクトリは itpass.scitec.kobe-u.ac.jp:~/test となります。

・実行結果へのリンク
result

・参考資料
逆引きUNIXコマンド/リモートホストのファイルを取得する・scpコマンド - Linuxと過ごす (scpコマンドの使 用方法)

・共同作業した人の名前
なし。

・工夫したこと, 感想
初めはif文を使い引数の数によって処理を変えていましたが、それだとスクリプトが非常に長くなってしまって、途中で何が間違っているのかが不明になり最後まで完成させられませんでした。
そこで青山くんのスクリプトを参考にさせてもらい、case文を使った方法に変更しました。

・htmlファイル制作の際の参考資料
HTMLを編集しよう:ホームページの作り方