이게 내가 한 일이야
tree -R /Applications/NetBeans/NetBeans\ 7.0.app/ | perl -e 'while (<>) { print if /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
출력은 한 줄에 하나의 파일 이름이 됩니다.
/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
. (왜 아직 시도하지 않았습니까?)