Lệnh dưới đây sẽ tìm các tệp jar có chuỗi con spring
trong đó.
find /some/dir -type f -name "*spring*.jar"
Bây giờ, lệnh ban đầu của bạn xem qua nội dung, đó không phải là văn bản xung quanh nó hoặc các ví dụ nói.
find . -name "*.jar" -exec jar tf '{}' \| grep -H "spring" \;
Vui lòng tìm mô tả trò chuyện này trong đó Gilles giải thích lý do tại sao lệnh trên không phải là thứ bạn đang tìm kiếm.
Kiểm tra
[root@keithpc check]# cd jar_check/
[root@keithpc jar_check]# ls
[root@keithpc jar_check]# touch spring1.jar
[root@keithpc jar_check]# touch 1spring.jar
[root@keithpc jar_check]# touch no_sss_spring.jar
[root@keithpc jar_check]# touch spring.txt
Đầu ra :
[root@keithpc jar_check]# find ./ -type f -name "*spring*.jar"
./no_sss_spring.jar
./1spring.jar
./spring1.jar
Như bạn có thể thấy, spring.txt
tập tin không được trả lại mà tôi tin là những gì bạn đang tìm kiếm.
Bây giờ, để hiểu lệnh của bạn làm gì,
- Đầu tiên tôi đã tạo một tệp java có tên là
springtest
.
- Bây giờ, tôi tạo
class
tệp bằng cách chạy java
lệnh trên
java
tệp.
- Bây giờ, tôi thêm nó vào tệp jar bằng cách chạy lệnh jar.
Bây giờ, khi tôi chạy lệnh của bạn, nó sẽ trả về cho tôi class
tệp chứ không phải tệp jar mà bạn đang tìm kiếm.
[root@keithpc jar_check1]# javac springtest.java
[root@keithpc jar_check1]# java springtest
Hello,spring
[root@keithpc jar_check1]# jar cvf springtest.jar springtest.class
added manifest
adding: springtest.class(in = 426) (out= 286)(deflated 32%)
##Here I run your command after creating the jar file.
[root@keithpc jar_check1]# find . -name "*.jar" -exec jar tf '{}' \|
grep -H "spring" \;
##As you can see, it returns me the class file rather than the
jar file as the output.
springtest.class
grep
như thế này.find /some/dir -type f -name "*spring*.jar"