grepでバックスラッシュ(\)を検索する機会があったのですが、意外にも「はまった」のでメモとして対応策を残しておきたいと思います。
まず文字列の囲み文字/リテラルとしてダブルクオート(")を利用する場合は\\\\を利用します。わかりにくいですが、__バックスラッシュを4つ重ねて初めてバックスラッシュひとつになります。__つまり\aという文字を検索したい場合は\\\\aとする必要があります。
cat ${some_file} | grep "\\\\" # バックスラッシュを含む行を抽出する
cat ${some_file} | grep "\\\\a" # \aを含む行を抽出する
次にシングルクオート(')を利用する場合は\\が正解です。ダブルクオートによるリテラル文字列とは違い、__バックスラッシュはふたつしか重ねる必要がありません。__つまり\aであれば\\aと書けばgrepで検索することができます。
cat ${some_file} | grep '\\' # バックスラッシュを含む行を抽出する
cat ${some_file} | grep '\\a' # \aを含む行を抽出する