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.