これは私がしたことです。
tree -R /Applications/NetBeans/NetBeans\ 7.0.app/ | perl -e 'while (<>) { print if /java$/ }'
しかし、もちろん、これは私が望む結果を返しません。
私が望むもの実行可能なJavaファイルそして、そのJavaファイルがどこにあるのかを知ることができる再帰ディレクトリです。次の構造
`-- Contents
`-- Resources
`-- NetBeans
`-- ExecutableJavaEnv
`-- java
この質問は、SUに関する私の質問に触発されました。。私が利用できるかどうかわからないので、上記の構造は実際には重要ではありませんfind
。パスのインポート/usr/bin/java
これにより、Mac OS X 10.5.8で実行する代わりにNetBeans Javaを実行するようにTextMateを設定できます。提案?助ける?
最初の編集:
今まで答えてくれてありがとう。これは私が試したコマンドの結果です。
. find /Applications/NetBeans/NetBeans\ 7.0.app/ -name java
/Applications/NetBeans/NetBeans 7.0.app//Contents/Resources/NetBeans/java
. ll /Applications/NetBeans/NetBeans\ 7.0.app/Contents/Resources/NetBeans/
total 632
-rw-rw-r-- 1 arie admin 6.6K Apr 8 09:29 CREDITS.html
-rw-rw-r-- 1 arie admin 1.7K Apr 8 09:29 DISTRIBUTION.txt
-rw-rw-r-- 1 arie admin 2.1K Apr 8 09:30 LEGALNOTICE.txt
-rw-rw-r-- 1 arie admin 78K Apr 8 09:30 LICENSE.txt
-rw-rw-r-- 1 arie admin 5.4K Apr 8 09:30 README.html
-rw-rw-r-- 1 arie admin 158K Apr 8 09:30 THIRDPARTYLICENSE.txt
drwxrwxr-x 8 arie admin 272B Apr 8 09:29 apisupport/
drwxrwxr-x 3 arie admin 102B Apr 8 10:32 bin/
drwxrwxr-x 9 arie admin 306B Jul 1 15:56 cnd/
drwxrwxr-x 9 arie admin 306B Apr 8 09:29 dlight/
drwxrwxr-x 9 arie admin 306B Apr 8 09:30 enterprise/
drwxrwxr-x 6 arie admin 204B Apr 8 09:30 ergonomics/
drwxrwxr-x 6 arie admin 204B Jun 11 22:17 etc/
drwxrwxr-x 7 arie admin 238B Apr 8 09:30 groovy/
drwxrwxr-x 21 arie admin 714B Jun 11 22:15 harness/
drwxrwxr-x 11 arie admin 374B Jun 11 22:25 ide/
drwxrwxr-x 12 arie admin 408B Jul 1 15:56 java/
drwxrwxr-x 10 arie admin 340B Apr 8 10:15 mobility/
-rw-rw-r-- 1 arie admin 33K Apr 8 09:30 moduleCluster.properties
drwxrwxr-x 15 arie admin 510B Jun 11 22:17 nb/
-rw-rw-r-- 1 arie admin 15K Apr 8 09:30 netbeans.css
drwxrwxr-x 11 arie admin 374B Apr 8 09:30 php/
drwxrwxr-x 11 arie admin 374B Jun 11 22:25 platform/
drwxrwxr-x 10 arie admin 340B Apr 8 09:30 profiler/
drwxrwxr-x 3 arie admin 102B Apr 8 08:43 ruby/
drwxrwxr-x 7 arie admin 238B Apr 8 09:30 websvccommon/
.
もう一つの答えはこれです
. find /Applications/NetBeans/NetBeans\ 7.0.app -type f -executable -name java
find: -executable: unknown option
答え1
java
指定されたディレクトリから呼び出された実行可能ファイルを見つけます。
find '/Applications/NetBeans/NetBeans 7.0.app/' -name java -type f -perm -u+x
出力は1行に1つのファイル名になります。
/Applications/NetBeans/NetBeans 7.0.app/Contents/Resources/NetBeans/ExecutableJavaEnv/java
その部分を省略するには、…/NetBeans 7.0.app
まずディレクトリを変更してfind
現在のディレクトリ(.
)で実行します。まだ./
プレフィックスがあります。
cd '/Applications/NetBeans/NetBeans 7.0.app/'
find . -name java -type f -perm -u+x
厳密に言うと、-perm u+x
実行可能なすべてのファイルではなく、所有者が実行可能なすべてのファイルを選択します。 GNU findには、-executable
すべてのファイルモードとACLを考慮して実行権限を持つファイルを見つけるオプションがありますが、このオプションは他のシステム(OSXなど)では使用できません。実際、それほど重要ではありません。実際には、ユースケースでは、権限を完全に忘れて-name java -type f
。
-type f
ディレクトリやシンボリックリンクではなく、通常のファイルのみを選択してください。検索に一般ファイルへのシンボリックリンクを含めるには、この-L
オプションを追加しますfind
(コマンドの直後にfind
、検索するディレクトリ名の前に)。
答え2
私はこれがあなたが望むものだと思います:
find /Applications/NetBeans/NetBeans\ 7.0.app -type f -executable -name java
答え3
find:を使うと簡単にできるようですfind /path/ -name java
。 (なぜまだ試していないのですか?)