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?


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


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

-1

jar tvf foo.war | grep Dateiname


Obwohl dieses Codebit korrekt sein mag, macht das Fehlen jeglicher kontextualisierender Informationen diese Antwort nutzlos und nicht hilfreich.
music2myear
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.