2017-06-15 16 views
0

だから私は/ home /内のすべてのファイルを "options.php"というファイル名で見つける必要があります。 特定のディレクトリ名内のファイルを検索するにはどうすればよいですか?

find . -name "options.php" 

すべてoptions.phpのファイルを見つけること、「ホームで」、しかし、私は彼らが/ public_htmlの/にある場合にのみ、すべてのoptions.phpファイルを見つけたい

。 つまり、見つかった他のすべての 'options.php'ファイルを無視する必要があります。 例えば、正/ショー結果:

/home/usr1/public_html/options.php 
/home/usr2/public_html/options.php 

例えば、私を見るはずの:

/home/usr1/public_html/wp-admin/options.php 
/home/usr2/public_html/wp-content/plugins/whatever/options.php 
+0

このhttps://github.com/Avinash-Raj/plsをインストールし、 'cd/home/usr1/public_html&pls 'options.php'を実行してください。 –

+0

Stack Overflowはプログラミングと開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 [Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306) – jww

答えて

1

あなたは-pathオプションを使用してパターンを渡すことができます。しかし、この特定のケース-regex-pathの上に何の利点を持っていない: find . -maxdepth N、それが唯一の希望のフォルダにoptions.php見つける必要があり、このよう:

find /home/ -regex '.*/public_html/options.php' 
0

lsユーティリティは、この作業のために非常に適しています:あなたがしたい場合は

ls -1 /home/*/public_html/options.php 

結果リストを処理してを実行しないでくださいこのようなファイルが見つからない場合にエラーメッセージまたは警告を表示したい場合は、単にリダイレクトしてくださいコマンドのエラー出力CT:

ls -1 /home/*/public_html/options.php 2>/dev/null 

findユーティリティを使用して代替は次のようになります。

find /home -path "*/public_html/options.php" 

それとも、あなたはさらにダウン「のpublic_html」と呼ばれるフォルダに一致することを防止したい場合階層内:

+0

/bin/ls:/home/*/public_html/options.phpにアクセスできない:そのようなファイルはありませんまたはディレクトリ – SupaMonkey

+0

@SupaMonkeyこれは奇妙なことですが、実際にそのようなファイルがない場合は、明らかに_except_その応答を得ません。エラー出力をリダイレクトしたいのですか? – arkascha

1

で見つかった結果から望ましい結果をフィルタリングします。。

find /home/ -path '*/public_html/options.php' 

をパス全体に適用される正規表現を受け入れ、より柔軟なパターンを使用-regexについて次のように

find . -name "options.php" | grep 'public_html/options.php' 
+0

あなたの答えをありがとう。正しいとはいえ - 上記のRuslanのオプションははるかに高速です。 – SupaMonkey

+0

ようこそ。 – zhenguoli

+0

これは階層のさらに下に位置する "public_html"というフォルダ内のマッチを見つけるでしょう。 – arkascha

0

あなたが検索の深さを制限することができます。

関連する問題