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

問題

    lookコマンドの辞書ファイル中の単語で、
  1. 文字列manを含むがmanで終わらないものはいくつあるか
    (man-to-manは除外すべき語です)
  2. 文字列manから始まって、文字列manで終わる単語を全て求めよ。
    (manはこの条件にあてはまる単語です)

解答

  1. 文字列manを含むがmanで終わらないもの
$ look . | grep man | grep -v man$ | wc -l
3708

「manを含むがmanで終わらない」というのを一つの正規表現で表そうとしなければ容易であったはず。
問題文は「いくつあるか」とあるので個数を答えるのが適切。コマンドのみの回答は減点。

  1. 文字列manから始まって、文字列manで終わる単語
$look . | grep ^man | grep man$
man
mangleman
man-to-man
man-woman

1つめのができればそこまで難しくはないはず。
問題文には「単語を全て求めよ」とあるので単語を全て列挙するのが適当。コマンドのみ、若しくは個数のみの回答は減点。

まとめ

求めたい表現を以下に簡単な正規表現の組み合わせに書き下せるかがポイント。