コンピュータ実習 5/24解答

問題

  1. /bin/の下にはいくつファイル(またはディレクトリ)があるか。
  2. lookコマンドの辞書ファイル中にアルファベットQを2つだけ含む単語はいくつあるか。
    ただし、Qは大文字でも小文字でもよいものとする。

解答

  1. 複数解答あり
    $ ls -A /bin/ | wc -l
    108
    lオプションをつけると合計表示のヘッダが、aオプションをつけると"."と".."が余計に出力されてしまいますが、それを考慮した解答ならば正解にしています。

  2. 複数解答あり
    $ look . | grep -i "^[^q]*q[^q]*q[^q]*$" | wc -l
    163
    [文頭] + [q/Q以外の文字が0個以上] + q/Q + [q/Q以外の文字が0個以上] + q/Q + [q/Q以外の文字が0個以上] + [文末]という考え方ができれば解けるはず。
    この考え方の場合、文頭・文末についての条件付けが無い場合は減点(今回は無いが仮にqを3つ以上含む単語が存在する場合、それも結果として出力してしまうため)
    他にも、q/Qを2つ以上含む単語と3つ以上含む単語を求めて、差をとるという考え方も可。
    $ look . | grep -i .*q.*q.* | grep -vi .*q.*q.*q.* | wc -l
    163
    $ expr $(look . | grep -i .*q.*q.* | wc -l) - $(look . | grep -i .*q.*q.*q.* | wc -l)
    163

まとめ

満点5点からの減点方式。問題文はよく読みましょう

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