Jak wyszukiwać rekurencyjnie pliki w plikach wojennych, dousznych i jar w systemie Linux

10

Muszę wyszukać plik (logo.png) w folderze zawierającym pliki archiwalne z wojny, ucha i słoika. Czy ktoś może mi pomóc z poleceniem?

ashok_p
źródło
1
Użyj tego polecenia w terminalu ------> znajdź [ŚCIEŻKA] -nazwa „[
NAZWA PLIKU
Masz na myśli znalezienie plików wewnątrz pliku archiwum wojny, ucha lub słoika?
kenorb
@kenorb tak dokładnie
ashok_p

Odpowiedzi:

7

Wyszukiwanie w plikach jar :

find . -name \*.jar -exec sh -c 'printf "\n\nFile: {}"; jar tf {}' ";" | less +/foo

I podobnie z plikami wojennymi :

find . -name \*.war -exec sh -c 'printf "\n\nFile: {}"; unzip -l {}' ";" | less +/foo

Zmień fooz tekstem swojego zainteresowania (np. abc.png).

Możesz nacisnąć:

  • n aby wyszukać następne dopasowanie wzoru.
  • Shift+, naby wyszukiwać wstecz,
  • /+ wpisz something+, Enteraby wyszukać inną frazę.

Zobacz podobne, ale w systemie Windows: Wyszukiwanie, które słoiki zawierają plik

kenorb
źródło
jeśli muszę przeszukać plik abc.png w archiwum wojennym, jak mogę to zrobić za pomocą powyższego polecenia?
ashok_p
@ashok_p Wymień Fooz abc.png.
kenorb
1

W tym celu możesz użyć polecenia unzip:

unzip -t example.war |grep filename
Romeo Ninov
źródło
-1

jar tvf foo.war | nazwa pliku grep

w33b
źródło
Chociaż ten fragment kodu może być poprawny, brak ŻADNEJ informacji kontekstualnej powoduje, że ta odpowiedź jest bezużyteczna i nieprzydatna.
music2myear