grepの正規表現

エスケープしないではまった。

$ ls
study.rb use_private_method.rb

$ ls | grep '^(s|u)'


grepの結果は空。エスケープが必要。

$ ls | grep '^\(s\|u\)'
study.rb
use_private_method.rb

追記

メタ文字は全てエスケープするのかと思ったら違った。例えば、「User.find_except_deleted」や「User.find_by_id_except_deleted」を探すなら以下のような形になる。
「.」と「*」はエスケープしないで使える。

grep 'User\.find.*_except_deleted' -r .