Como pesquisar um arquivo em vários frascos

2

Deseja pesquisar um arquivo dentro de um conjunto de arquivos jar. Como isso pode ser feito no ubuntu termianl?

    
por Yasitha 04.07.2013 / 12:22

4 respostas

3

Eu entendo que você quer procurar um arquivo específico - e não pesquisar por uma string dentro de um arquivo no arquivo .jar.

Outra opção, sem zipgrep, apenas com zip, sed e friends. Suponha que você queira examinar os arquivos jar no diretório atual:

for i in *.jar ; do unzip -l "$i" | sed "s?.*?$i: &?" ; done | grep "filetofind"
    
por January 04.07.2013 / 12:34
1

Para pesquisar no terminal, consulte este Post

Para fazer isso a partir da GUI, baixe jar-explorer . Uma vez baixado, basta pressionar Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute o (s) comando (s) abaixo:

java -jar jarexplorer-0.7-BETA.jar
    
por Mitch 04.07.2013 / 12:33
0

Você deve ser capaz de usar o zipgrep para fazer isso e muito mais procure dentro dos arquivos).

Aviso: não testado, sinta-se à vontade para fazer downvote se não funcionar.

    
por Javier Rivera 04.07.2013 / 12:31
0

Para pesquisar 'qawas' String dentro do jarro

find . -iname '*.jar' -printf "unzip -c %p | grep -q 'qawas' && echo %p\n" | sh

ou alternativamente use abaixo para descobrir qual classe usar

find . -iname '*.jar' -print | while read jar; do
  echo "$jar:"
  unzip -qq -l $jar | sed 's/.* //' | while read cls; do
    unzip -c $jar $cls | grep -q 'Tag read' && echo "   "$cls
  done
done
    
por Harish Shan 02.01.2015 / 06:08