次の2つのコマンドを見てください。
find ~/{Documents,Desktop,Downloads,Music,Videos} -mmin -120 -type f
そして
find . ! -path "*opera*" ! -path "*mozilla*" ! -path "*google-chrome*" -mmin -120 -type f
1つ目はfind
特定のフォルダに関連する結果を提供するよう指示し、2つ目はその逆を実行します。しかし、2番目のコマンドをより簡潔にする方法はありますか?それとも、! path
すべてのフォルダの前にある必要がありますか?
オペレーティングシステムはLubuntu 12.10です。
答え1
find
GNU正規表現(非標準拡張)を使用できます。
find . -regextype posix-extended ! -regex '.*(opera|mozilla|google-chrome).*'
他の(より効率的な)ものを使用することもできます-regextype
。確認していません。
クリスタン解決策は2番目のコマンドとまったく同じではありませんfind
。いいえサブディレクトリからパターンを除外します(それでも同様のコンテンツを見つけることができます./somedir/some-mozilla-dir
)。
上記のコマンドにはこれらの制限はありません。