web-dev-qa-db-ja.com

grep式を反転する方法

次のgrep式は、現在のディレクトリとサブディレクトリにあるすべての.exeファイルと.htmlファイルを正常にリストします。

ls -R |grep -E .*[\.exe]$\|.*[\.html]$  

この結果を逆にして、代わりに.htmlまたは.exeではないものを一覧表示するにはどうすればよいですか。 (つまり!=

202
sMaN

コマンドラインオプション-vまたは--invert-matchを使用します。

ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$
299
Eric Fortis
grep -v

または

grep --invert-match

findを使っても同じことができます。

find . -type f \( -iname "*" ! -iname ".exe" ! -iname ".html"\)

詳細情報 こちら

89
darioo

結果を反転するには、grepコマンドに-vオプションを追加します。

29
Rob Sobers
 grep "subscription" | grep -v "spec"  
7

何度も述べたように、反転はgrepへの-vオプションによって達成されます。 grepヘルプテキストを読み進めることで、自分でこれを理解できる可能性があることを(おそらく愉快に)覚えておいてください。

grep --help | grep invert

-v、--invert-match不一致行を選択する

3
jmd_dk