find コマンドから常にパスを除外する

find コマンドから常にパスを除外する

findで内容が見つからないディレクトリがあったため、findに次のエイリアスを指定しました。

alias find='find -not -path "*.sync*"'

問題は今find -depth

ベストアンサー1

-not名前付き演算子には存在しませんfind。そんな意味でしたか!-path多くの実装に見られる拡張ですが、findすべてではありません。

主な問題は、おそらくすべてのパス名パラメータをfindコマンドラインに最初に表示する必要があり、エイリアスを展開した後にパス名タイプパラメータを追加すると、パラメータfindが誤った順序で表示されることです。

findケースによっては、除外したいパスの前後にさらにパラメータを追加する必要があるため、問題に対する一般的な解決策はありません。

あなたは試すことができます:

find() {
    path=$1
    shift
    command find "$1̈́" ! -path '*.sync' "$@"
}

ただし、パスタイプパラメータは1つだけ許可されます。

おすすめ記事