web-dev-qa-db-ja.com

パスの一部のみを提供してパスを見つけるにはどうすればよいですか?

このパス/<some_where_in_root>/find/this/pathを見つける必要があり、私が持っている唯一の情報は/find/this/pathであるとしましょう。ディレクトリ全体を見つけるための最良の方法は何でしょうか?

私は基本的にディレクトリを作成するプログラムを持っています。ディレクトリが作成された後、作成されたディレクトリ内にパスが存在するかどうかを確認したいと思います。

これまでfind . -type d -name "/find/this/path"を試しましたが、これは明らかに/find/this/pathを文字列として解釈します。この状況でfindを使用する方法はありますか?私が持っているパスを解析し、pathの部分を取得して、この文字列を検索するのが最善でしょうか?

6
hax0r_n_code

ワイルドカードで-pathまたは-ipathを使用する必要があります

find . -type d -ipath "*/find/this/path"
5
MikeFHay

-path述語(大文字と小文字を区別しないバリアント、-ipath)は、ツリー全体でその正確なテキストを検索できるようにします。

これらの2つのコマンドmethod1を実行します。

root@developer~:# updatedb

root@developer~:# locate /find/this/path

方法2:

root@developer~:# tree |grep /find/this/path

結果は/ find/this/pathのフルパスで構成されます

/からこれらを実行してみてください

root@developer~:# cd /

root@developer~:/#updatedb
root@developer~:/#locate /find/this/path
root@developer~:/#tree |grep /find/this/path
2
Gangadhar