web-dev-qa-db-ja.com

ubuntuでファイルシステムを検索して、すぐに結果を表示する最良の方法は何ですか?

Ubuntuでファイルシステムを検索し、ほぼ瞬時に結果を取得する最良の方法は何ですか?私はcatfishtrackerおよびubuntuで提供される通常の検索ツールを使用しました。

トラッカーは何も見つけません、ubuntu検索ツールは遅すぎてcatfishほとんどの場合、何も見つかりません。アクセスしたいPDFとDJVUファイルがたくさんあります。ウィンドウには、すべてを検索と呼ばれるプログラムがあり、ほとんど即座に結果を返します。同様のLinuxツールが必要です。

私はLinuxの初心者なので、できるだけ詳細な回答を提供してください。そのようなツールがubuntuに存在しない場合、mandriva、redhatなどの他のLinuxディストリビューションでそのようなツールを見つけることができる可能性は何ですか?

7
Nabil

Recoll はこれをあなたのために行うことができます。想像できるほぼすべてのドキュメントタイプのフルテキストインデックスと、PDFドキュメントのページ番号でソートされた結果の概要が特徴です。

enter image description here

enter image description here

ソフトウェアセンターからインストールするか(Recollを検索)、Recoll PPA(Unityレンズ/スコープを含む)から最新バージョンを入手できます。最初に公式のRecollリポジトリを追加します。

Sudo add-apt-repository ppa:recoll-backports/recoll-1.15-on
Sudo apt-get update

Ubuntu 13.04以前を使用している場合は、recoll-lensをインストールする必要があります。

Sudo apt-get install recoll recoll-lens

Ubuntu 13.10以降では、代わりにunity-scope-recollを使用します。

Sudo apt-get install unity-scope-recoll

PPAからインストールするのがこれが初めての場合は、必ず最初にこれらを読んでください。

PPAとは何ですか、どのように使用しますか?

PPAはシステムに追加しても安全ですか?また、注意すべき「レッドフラグ」は何ですか?

Recollレンズ/スコープを使用する前に、少なくとも1回Recollを実行して検索インデックスを作成する必要があります。

Recollの使用方法に関する詳細なドキュメントは here にあります。

9
Glutanimate

ファイル名のみを検索するには-コンテンツを無視します-
locateツールを使用できます。検索は非常に高速です。

locate '*.pdf'

すべてのpdfファイルがリストされます。詳細については、マニュアルページを参照してください。

$ locate --help
Usage: locate [OPTION]... [PATTERN]...

Search for entries in a mlocate database.

  -b, --basename         match only the base name of path names
  -c, --count            only print number of found entries
  -d, --database DBPATH  use DBPATH instead of default database (which is
                         /var/lib/mlocate/mlocate.db)
  -e, --existing         only print entries for currently existing files
  -L, --follow           follow trailing symbolic links when checking file
                         existence (default)
  -h, --help             print this help
  -i, --ignore-case      ignore case distinctions when matching patterns
  -l, --limit, -n LIMIT  limit output (or counting) to LIMIT entries
  -m, --mmap             ignored, for backward compatibility
  -P, --nofollow, -H     don't follow trailing symbolic links when checking file
                         existence
  -0, --null             separate entries with NUL on output
  -S, --statistics       don't search for entries, print statistics about each
                         used database
  -q, --quiet            report no error messages about reading databases
  -r, --regexp REGEXP    search for basic regexp REGEXP instead of patterns
      --regex            patterns are extended regexps
  -s, --stdio            ignored, for backward compatibility
  -V, --version          print version information
  -w, --wholename        match whole path name (default)
4
Anwar

また、非常に大きなPDFのライブラリを検索します。私にとって、これはMS Windowsを恋しく思うLinuxの1番目のフラストレーションです。この時点ですべてを試しましたが、今のところ解決した解決策は、以下のプログラムを組み合わせて使用​​することです。

残念ながら、現時点ではこれらのいずれもUbuntuリポジトリに存在しないようで、不安定な場合があります。したがって、Recoll(現在Ubuntu 14.04のデフォルトのリポジトリにあると思いますか)または他の何かがあなたのために働くなら、それを固守するほうが良いでしょう。

1)Synapse

インストール:詳細については この投稿 をお読みくださいが、基本的にはターミナルで次のコマンドを実行することでインストールできます。

Sudo apt-add-repository ppa:synapse-core/testing
Sudo apt-get update
Sudo apt-get install synapse

ポジティブ

  • 非常に高速でスマートな検索結果
  • 必要なものがすぐに表示されない場合は、下を押してTabキーを押して「locate」で詳細を検索できます。

  • ファイル名のみを検索し、内部のテキストは検索しません。
  • 特に「ロケート」を試みる前に、多くを見逃しているようです。

2)Launchy

インストール:パッケージをダウンロードします こちら

ポジティブ:

  • Synapseとほぼ同じ速度
  • 結果は非常に包括的です。

負:

  • また、ファイル名のみを検索します。
  • おそらくこれら3つの中で最もバグが多いでしょう。

3)DocFetcher

インストール:どこかのリポジトリで見つけられない限り、ポータブル版にこだわっています。それをダウンロードしてください こちら そして指示に従ってください。

ポジティブ:

  • PDFのテキスト内を検索します
  • 論理的順序での包括的ではあるが関連性のある結果(通常、RecollまたはTrackerの結果は完全にねじれています)
  • 完全なドキュメントプレビューペインにより、ファイルを開く前に(数行だけでなく)より多くのファイルを確認できます。
  • かなり速い

負:

  • Ubuntuでネイティブにインストールして実行するのが難しい(例:Javaランタイムなし)
  • ファイル名のみを検索するアプリよりもはるかに遅い

Dashが追いついて、このすべてを時代遅れにしてくれることを願っていますが、その間、これら3つはほとんど私が使用しているものです。

他のオプションは試してみる価値があります:

  • Gnome-Do はSynapseに代わる価値のある代替手段かもしれませんが、最後に5000ファイルしかインデックス付けできないことを確認しましたが、それでは十分ではありません
  • pdfgrep は時々便利ですが、遅く、気づいているGUIがありません
1
Brian Z

別のオプションはSynapseです。
Zeitgeistの結果を統合します。
システムには多くのドキュメントがありますが、Synapseが必要なファイルを検索できる速さに驚いていました。

Sudo apt-get install synapse

乾杯

0
DrewG

コマンドラインオプションの場合、 "silver searcher"が私の意見では最高です。 findおよびawkよりもはるかに高速であり、使用方法も簡単です。

ag <path>

Ubuntu 14.04からインストール

Sudo apt-get install silversearcher-ag

findおよびawkに対する速度の比較をご覧ください

https://github.com/ggreer/the_silver_searcher

enter image description heregnome-search-toolも使用できます。 Sudo apt-get install gnome-search-toolで取得できます

0
rɑːdʒɑ

次のPythonコードは、検索結果を非常にすばやく返します。 fnmatch.fnmatch(file,'*.txt)の2番目のパラメーターを探しているものに変更するだけです。信じられないほど速いです。

import fnmatch
import os

for file in os.listdir('.'):
    if fnmatch.fnmatch(file, '*.txt'):
        print file
0
noel