やった:grep -r -H -L txt ~
そしてgrep -r -l -L txt ~
すべてのファイルがリストされますか? 出力が非常に長いです。
答え1
2 つのコマンドはまったく同じです。どちらもホーム ディレクトリを再帰的に処理し、パターン 'txt' を含まないファイルを一覧表示します。
同じ出力であることを証明するには、次のようにします。
diff <(grep -r -H -L txt ~) <(grep -r -l -L txt ~)
少し詳しく説明すると...
grep -r -H -L
と同じです
grep -r -L
-H
(print filenames) は、grep
複数のファイルを含むすべての呼び出しに暗黙的に使用されます。-L
指定されたパターンに一致しないすべてのファイルをリストするため、これが実行されます。
次...
grep -r -l -L
と同じです
grep -r -L
-l
これは単に、と が競合するオプションであるためであり-L
、そのような場合には最後に表示されるフラグが、それ以前の競合するフラグを上書きします。(ドン・クリスティこれを指摘していただきありがとうございます。
つまり、実質的には およびgrep -r -L
となりますgrep -r -L
。