Я выполнил sudo fdisk-l, как предложил г-н Shunz. Я принял ответ г-на Shunz.
(BTW, Stackexchange не разрешил бы мне форматировать эту информацию, ясно использующую функцию Comment. Возвраты каретки, которые я попытался вставить просто, добавили комментарий преждевременно. Поэтому я использовал функцию Answer вместо этого, так, чтобы другие могли считать эту информацию и понять это.)
Начальная загрузка устройства запускает идентификационную систему блоков конца
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 103016447 51200000 8e Linux LVM
/dev/sda3 103016448 115304447 6144000 82 подкачки Linux / Солярис
/dev/sda4 115306494 134836223 9764865 5 Расширенных
/dev/sda5 115306496 134836223 9764864 83 Linux
Я не верю, что команда jar
принимает множественные .jar
файлы в качестве аргументов, поэтому AFAIK не может ссылаться на один jar
вызов, адресованный всем файлам .jar
. Один из вариантов ускорения работы, позволяющий избежать одного вызова найти
для каждого файла .jar
, следующий
find . -name '*.jar' -exec sh -c \
'for f; do jar -tf "$f" | grep --label="$f" "spring"; done' sh {} +
Нижеприведенная команда будет искать файлы jar, в которых есть подстрока -пружина
.
find /some/dir -type f -name "*spring*.jar"
Теперь ваша оригинальная команда просмотрит содержимое, а не текст вокруг и не примеры.
find . -name "*.jar" -exec jar tf '{}' \| grep -H "spring" \;
Пожалуйста, найдите описание чата this, где Жиль объясняет, почему вышеприведенная команда не то, что вы ищете.
Тестирование
[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
Выход:
[root@keithpc jar_check]# find ./ -type f -name "*spring*.jar"
./no_sss_spring.jar
./1spring.jar
./spring1.jar
Как видите, файл spring.txt
не возвращается, что, как я полагаю, является тем, что вы ищете.
Теперь, чтобы понять, что делает Ваша команда,
springtest
. class
, выполняя команду java
на команде
java
file. Теперь, когда я запущу вашу команду, он вернет мне файл class
file
а не тот jar-файл, который вы ищете.
[root@keithpc jar_check1] # javac springtest.java
[root@keithpc jar_check1]# java springtest
Здравствуй, весна
[root@keithpc jar_check1]# jar cvf sprtest.jar sprtest.class
добавленный манифест
добавляя: springtest.class(in = 426) (out= 286)(сдуто 32%)
## Я запустил твою команду после создания файла банка.
[root@keithpc jar_check1]# find . -имя "*.jar" -exec jar tf '{}' \|.
grep -H "весна" \;
## Как видите, он возвращает мне файл класса, а не
jar-файл в качестве выходного.
sprtest.class