次のgrep式は、現在のディレクトリとサブディレクトリにあるすべての.exeファイルと.htmlファイルを正常にリストします。
ls -R |grep -E .*[\.exe]$\|.*[\.html]$
この結果を逆にして、代わりに.htmlまたは.exeではないものを一覧表示するにはどうすればよいですか。 (つまり!=
)
コマンドラインオプション-v
または--invert-match
を使用します。
ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$
grep -v
または
grep --invert-match
find
を使っても同じことができます。
find . -type f \( -iname "*" ! -iname ".exe" ! -iname ".html"\)
詳細情報 こちら 。
結果を反転するには、grep
コマンドに-v
オプションを追加します。
grep "subscription" | grep -v "spec"
何度も述べたように、反転はgrep
への-v
オプションによって達成されます。 grep
ヘルプテキストを読み進めることで、自分でこれを理解できる可能性があることを(おそらく愉快に)覚えておいてください。
grep --help | grep invert
-v、--invert-match不一致行を選択する