コンピュータ実習 6/8解答

問題

  1. lookコマンドの辞書ファイル中の単語で、ちょうど真ん中にある語は?
  2. カレントディレクトリにあるプログラムを起動させる

解答

  1. 解答の流れとしてはlookコマンドの辞書が何行あるかを調べ、真ん中の単語をheadやtailコマンドを用いて表示させる。
    $ look . | wc -l
    479829
    $ expr 479829 / 2
    239914
    $ look . | tail -239915
    merosymmetry
    よほどのことがない限り最後の単語が合っていれば正解とした。また中央の値の計算はshell上で行う必要はない。 授業の内容だけでは一連の処理を1行で書くことはできないがどうしても1行に抑えたい場合は以下の様に書くことも可能。
    $ look . | head -n $(expr $(look . | wc -l) / 2 + 1) | tail -n 1
    merosymmetry
  2. やってほしいことは、実効権限の確認(追加)とPATHが通っているかの確認(追加)。
    $ ls -l | grep aaa
    # もし実効権限がなかったら追加
    $ chmod u+x aaa
    $ echo $PATH
    # カレントディレクトリにPATHが通っていなかったら追加
    $ PATH=$PATH":."
    実効権限の追加は数値でもアルファベットでも可。

まとめ

クイズや授業についての質問があればメールで。書式には要注意。