So suchen Sie unter Linux rekursiv nach einer Datei in War-, Ear- und JAR-Dateien

10

Ich muss nach einer Datei (logo.png) in einem Ordner suchen, der Archivdateien für Krieg, Ohr und JAR enthält. Kann mir jemand mit dem Befehl helfen?

ashok_p
quelle
1
Verwenden Sie diesen Befehl im Terminal ------> find [PATH] -name "[FILENAME]"
vembutech
Sie meinen, Dateien in Kriegs-, Ohr- oder Glasarchivdateien zu finden?
Kenorb
@kenorb ja genau
ashok_p

Antworten:

7

Suchen in JAR- Dateien:

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

Und ähnlich mit Kriegsakten :

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

Ändern Sie foomit dem Text Ihres Interesses (wie abc.png).

Sie können drücken:

  • n um nach der nächsten Musterübereinstimmung zu suchen.
  • Shift+ nrückwärts suchen,
  • /+ Geben Sie something+ ein Enter, um nach einer anderen Phrase zu suchen.

Siehe ähnlich, aber unter Windows: Finden, welche Gläser eine Datei enthalten

Kenorb
quelle
Wenn ich die Datei abc.png in einem Kriegsarchiv durchsuchen muss, wie kann ich das mit dem obigen Befehl tun?
ashok_p
@ashok_p Ersetzen Foodurch abc.png.
Kenorb
1

Sie können den Befehl unzip für diesen Zweck verwenden:

unzip -t example.war |grep filename
Romeo Ninov
quelle
-1

jar tvf foo.war | grep Dateiname

w33b
quelle
Obwohl dieses Codebit korrekt sein mag, macht das Fehlen jeglicher kontextualisierender Informationen diese Antwort nutzlos und nicht hilfreich.
music2myear