Linuxでのms-windows関数検索に似た名前でファイルまたはコンテンツを再帰的に検索する良い方法を知っていますか?私はそれが最善ではないと疑ってfind . | grep test.html
を行うことができます。答えてくれてありがとう。
たとえば、find . | grep terms.html
を実行すると期待どおりの結果が得られますが、locate terms.html
は、locateが更新されたdbを取得しても、期待どおりの結果が得られません。ファイルが置かれているUSBスティックであることが関係している可能性があります。
コマンドは次のように検索されます
find . -iname '*hellofiles*'
find・location・-inameは大文字と小文字を区別しないことを意味し、必要に応じて ''は正規表現です。
find/home/user -iname '* Zip'は、/ home/user内のすべてのZipファイルを検索します。
Locateを使用してより高速なルックアップが必要な場合は、ディスクの設定方法に応じて毎週または毎日のように、ディスクを定期的にスキャンするユーティリティがあります。
locate myfile
そして、updatedbがmyfileをどこかで見た場合、データベースを調べます。
パッケージの場合:dpkg -L packagename
または、特定のフォルダーにあることがわかっている場合は、次のようにgrepの使用を追加します。
dpkg-Lパッケージ名| grepフォルダー名
たとえば、Chromiumをインストールしたばかりで、ビンがどこにあるかを知る必要があります
dpkg-Lクロムブラウザ| grep bin
find ./ -name "filename"
または、find ./ -name "*.jar"
のような操作を実行して、拡張子が.jarのすべてのファイルを検索できます。 find ./ -name "*.jar" | xargs grep -n 'main'
を実行して、メインを含むすべての.jarファイルを検索することもできます。
find . -name test.html
または、ワイルドカードを使用することもできます:find . -name \*test.html
ターミナル経由でこれを実行したい場合は、コマンドfind
を使用できます。
パイプライン化find
とgrep
は機能します。それ以外の場合、find
は、これを行うためのいくつかのオプション(-name
や-iname
など)を提供します。
find DIRECTORY -name test.html
find
とlocate
の2つのユーティリティがあります。他の人がfind
を提案しているので、locate
について話します。
古いシステムには、mlocate
またはslocate
という名前のパッケージをインストールします。インストール後、コマンドupdatedb
を実行します。 locate
はデータベースを使用してすべてのファイルへのパスを保存するため、検索ははるかに高速ですが、頻繁に古くなるという欠点があり、データベースへの入力には数分かかる場合があります。
データベースにデータを入力したら、locate file
を実行します。ファイルの名前だけを使用すると、/
で始まるファイルが検索されます。したがって、/etc/file
と/usr/share/file
を取得できます。ホームディレクトリに限定したい場合は、次を使用してください。
locate file | grep /home/user
ワイルドカードは、何らかの理由でlocate
では機能しません。
Windowsの検索機能はわかりませんが、|の代わりを探しているときはgrep *次に、次のことを試すことができます。
find /* -name "keyword"
slocateもあなたの基準に合うはずです。
よろしく、/ dley