私のサーバーで「wordpress-seo」で終わるすべてのフォルダを探したいです。
頑張った探す注文しましたが、とても時間がかかりました。
sudo find /home/w/s -type d -name 'wordpress-seo'
locate
私はコマンドを試していますが、wordpress-seoを使用してすべてのパスを返します。
a/wp-content/plugins/wordpress-seo
a/wp-content/plugins/wordpress-seo/languages/
...
...
wordpress-seo/*
ファイルとフォルダを除外したいです。フォルダ名だけ知りたいです。つまり
a/wp-content/plugins/wordpress-seo
b/wp-content/plugins/wordpress-seo
正規表現を試しましたが、運がありませんでした。
locate -r '/\w+wordpress\-seo/b'
OR
locate '/*/wordpress-seo/'
助けが必要ですか?
答え1
この試み:
locate -r "wordpress-seo$"
find
はるかに速い速度を提供すると言う必要がありますが、...検索する項目を提供するたびに、ファイルを検索しながらデータベースからデータを読み取るために認識locate
されます。locate
/var/lib/mlocate/mlocate.db
find
locate
データベースはcron
毎日更新され、次の方法でいつでもデータベースを手動で更新できます。
sudo updatedb
これにより、毎日の更新後に生成されたファイルがデータベースでcron
利用可能になるため、locate
設定ファイルを確認できますlocate
。また、構成ファイルを/etc/updatedb
確認して除外されるファイルシステム、パスを確認してください。
答え2
しないより遅くする方がいいfd
新しい発見です。
オプション:
H
- 隠しファイルとフォルダの検索I
- 失礼にファイルを無視します。t
- 検索するファイル形式(d ==ディレクトリ)
使用法:
fd -HI -t d 'wordpress-seo$'
速度に関しては、以下を見つけることができます。ベンチマークはここにありますしかし、厳密にfd
言えばfind
。
Fedoraのインストール:
sudo dnf install fd-find
Debian インストール:
sudo apt-get install fd-find
その他のインストール方法については、以下を参照してください。フラッグハブ