私はそうしました:grep -r -H -L txt ~
そしてgrep -r -l -L txt ~
すべてのファイルが一覧表示されますか?私が得る出力が非常に長いからです。
答え1
両方のコマンドはまったく同じです。どちらもホームディレクトリに再帰し、「txt」パターンを含まないファイルを一覧表示します。
出力が同じであることを証明するには、次のようにします。
diff <(grep -r -H -L txt ~) <(grep -r -l -L txt ~)
ちょっと分解したら..
grep -r -H -L
同じですか?
grep -r -L
-H
(印刷ファイル名)は、grep
複数のファイルに関連する呼び出しを意味します。-L
これは、指定されたパターンと一致しないすべてのファイルを一覧表示するため、これが実行される操作です。
次へ...
grep -r -l -L
同じですか?
grep -r -L
これは単にオプションが競合するためです-l
。-L
この場合、最後に発生したフラグが前の衝突フラグをオーバーライドします。 (ありがとうございます。@don_crisstiこれを指摘してください。 )
したがって、実際にはとgrep -r -L
がありますgrep -r -L
。