正解があまりにも少ないので、早めではあるがここに解答例を示しておく。正規表現について、というよりも、本来マッチさせるべき内容についてもう少し考えておく必要があったことに注意すること。ここでは、例えば、ユーザ名やグループ名がAprであったり、ディレクトリ名がAprである場合は除いて、作成時期が4月という条件をどう考えるかが解答の基本であった。各行の中身をもう少し考えないといけない。また、多くの解答には0回以上の繰り返しを表す*が使われていたが、これは文字通り0回以上であるので含まれない場合もマッチする。利用の際にはよく考えた方が良い。
なお、初期の課題提出ではその辺はあまり厳格に判別しないで受け取ったものもあったが、遅れて提出したものほど採点基準が厳しくなっている。よって、提出が遅れたものに関してはほとんど不合格となっている。
#!/usr/bin/ruby
while line = gets()
if line =~ /^d[-rwx]{9}.*Apr\s+\d\d?\s+\d\d:\d\d.*/
print line
end
end