単一バックスラッシュのgrep

単一バックスラッシュのgrep

mountルートディレクトリのオプションを表示するために出力をgrepしようとしています。

次のパターン(スラッシュの前と後の空白)が機能しない理由(拡張の有無grep

/home/pkaramol
$ mount | grep  '/s\//s' 
/home/pkaramol
$ mount | grep -e '/s\//s' 
/home/pkaramol

答え1

/s前方およびバックスラッシュ\sと小文字-eと大文字を混同しています-E

$ mount | grep -E '\s/\s'
/dev/sda3 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)

実際には、基本正規表現(BRE)も拡張正規表現(ERE)指定子でもありません\s。実際にはPCRE(Perl Compatible Regular Expressions)に属していますが、少なくともGNU grepは他のモードで動作しているようです。

答え2

mountGNU grepを使用して単一のスラッシュを出力するには、次の手順を実行しますgrep

mount | grep -w '/'

BSD の場合は、grep以下を使用します。

mount | grep ' / '

mountこのコマンドは周囲に単純なスペースを使用してマウントポイントを出力するため、よりクールなものは必要ありません。

関連情報