1

複雑な正規表現を無視パターンとして渡そうとしています。locales/ except のすべてのサブフォルダーを無視したいlocales/US/en/*。.agignore ファイルの使用にフォールバックする必要があるかもしれませんが、それを回避しようとしています。

私はシルバーサーチャーを使用しています(Ack、Grepに似ています)。端末でzshを使用しています。

これは非常にうまく機能し、次を除く locales/USすべてのロケール サブフォルダーを無視します。

ag -g "" --ignore locales/^US/ | fzf

locales/US/* Want I want is this以外はすべて無視したいのlocales/US/en ですが、うまくいきません。

ag -g "" --ignore locales/^US/^en | fzf

考え?

4

2 に答える 2

1

複数の --ignore コマンドを追加します。例えば:

ag -g "" --ignore locales/^US/ --ignore locales/US/^en
于 2016-05-05T17:34:23.563 に答える
0

以下も同様に機能します。

find locales/* -maxdepth 0 -name 'US' -prune -o -exec rm -rf '{}' ';'

マニュアルページ ドキュメント

-True を削除します。ファイルがディレクトリの場合は、そこに降りないでください。-depth が指定されている場合は false。無効。-delete は -depth を意味するため、-prune と -delete を一緒に有効に使用することはできません。

-prune結果を除外できます (より良い説明はこちら)

-実行コマンド; コマンドを実行します。0 ステータスが返される場合は true。以降の find の引数はすべて、「;」で構成される引数まで、コマンドの引数と見なされます。遭遇します。文字列 '{}' は、find の一部のバージョンのように単独である引数だけでなく、コマンドの引数に出現するすべての場所で処理中の現在のファイル名に置き換えられます。これらの構造は両方とも、シェルによる展開から保護するために ('\' で) エスケープするか、引用符で囲む必要がある場合があります。-exec オプションの使用例については、例のセクションを参照してください。指定されたコマンドは、一致したファイルごとに 1 回実行されます。コマンドは開始ディレクトリで実行されます。-exec アクションの使用には、避けられないセキュリティ上の問題があります。代わりに -execdir オプションを使用してください。

-exec結果が返されたときにコマンドを実行できますfind

于 2016-05-06T19:00:12.870 に答える