同様のCLIツールがありますかgnome-search-tool
?を使用していますが、locate
ディレクトリ名の一致の結果をグループ化することをお勧めします。私が望む結果ではなく、多くのパスマッチ結果を得ました。
/tmp/dir_match/xyz
/tmp/dir_match/xyz2/xyz3
十分に高速である必要があるため、検索インデックスを使用する必要があります。
答え1
富士一般的なコマンドラインファジーファインダーです。
彼らのgithubページはhttps://github.com/junegunn/fzf
答え2
標準のLinuxコマンドは次のとおりです。
find
ファイル名を検索するコマンドです。例:xyzというファイルを探す
/tmp
$ find /tmp -type f -name xyz
名前に「xyz」を含むディレクトリを探す
/tmp
$ find /tmp -type d -name '*xyz*'
find コマンドと grep コマンドは、ファイルの内容を検索するために使用されます。例:
/tmp
xyzを含むファイルを探す$ find /tmp -type f -exec grep -l xyz {} \;
答え3
locate
非常に汎用性があり、-rパターンと正規表現パターンを使用できるため、複雑な一致をたくさん実行できます。たとえば、ディレクトリa
a0
a1
などを一致させるには、を使用します。パスには2番目のディレクトリが'/a[0-9]*/'
必要なため、ファイルがあるディレクトリのみが表示されます。/
ディレクトリを個別に一致させるには、を使用して$
パターンをパスの末尾に固定します'/a[0-9]*$'
。
少なくとも2つのバージョンがありますlocate
。そのうちの1つは次のいずれかです。牛に似た一種の栄養、Redhatのもの(mlocateという)があります。--version
持っているものを見つけるために使用されます。正規表現スタイルは少し異なります。たとえば、一致自体を回避する代わりに上記のパターンを'/a[0-9]*$'
使用するように変更すると、mlocateはrequireを使用し、gnuはを使用します。+
*
a
\+
+
たとえば、ディレクトリa
とその下のすべての項目を一致させるには、両方のバージョンで使用できます。
locate -r '/a\(/\|$\)'
mlocate の場合、--regex
拡張構文をプレフィックスとして使用できます。
locate --regex '/a(/|$)'
--regextype egrep
たとえば、gnulocateで同じことを行うには、オプションを追加する必要があります。