Prüfen, ob Datei existiert in s3 mit dem ls und dem Platzhalter
Scheint so einfach, aber nicht immer die syntax Recht. Ich möchte wissen, ob eine Datei existiert in meinem s3-bucket Verwendung von wildcards. So etwas wie
aws s3 ls s3://my-bucket/folder/*myfile*
Ziel ist es, zu sehen, wenn Sie eine Datei namens 2016_myfile.txt
oder eine Datei namens 2011_myfile.csv
existiert in diesem Eimer.
Wenn ich den Befehl ausführen, wird es nichts zurückgibt, obwohl ich weiß, dass diese Datei dort existiert.
Sehr ineffizient, aber warum nicht etwas wie "aws-s3 ls s3://my-bucket/folder/ | grep myfile" ? Das ist, wenn Sie darauf bestehen, mit der CLI. Ein python-script mit Boto wäre viel effizienter, wenn es nicht eine einzelne Befehlszeile.
Eigentlich würde auch funktionieren. Ich war nur überrascht, dass die aws-cli nicht so etwas wie dieses und dachte, ich war etwas fehlt
Ich habe auf der Suche in Boto und ich weiß nicht, wie es unterstützt wildcards entweder, Sie haben einen Zeiger, die Sie bieten könnte?
Eigentlich würde auch funktionieren. Ich war nur überrascht, dass die aws-cli nicht so etwas wie dieses und dachte, ich war etwas fehlt
Ich habe auf der Suche in Boto und ich weiß nicht, wie es unterstützt wildcards entweder, Sie haben einen Zeiger, die Sie bieten könnte?
InformationsquelleAutor Nicros | 2016-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
(re-entworfen von Kommentar, wie es scheint, das die Frage beantwortet)
Ich selbst versucht, und scheiterte, um die Verwendung von Platzhaltern in der aws-Befehlszeilenschnittstelle, und nach der docs, ist dies derzeit nicht unterstützt.
Einfachste (aber am wenigsten effizient) Lösung wäre die Verwendung von grep:
Alternativ könnten Sie schreiben, eine kurze python/Skript, um dies zu tun, effizienter (aber nicht in einem einzigen Befehl)
Dies zu ungenauen Ergebnissen führen, wenn Sie mehr als 1000 Objekte in den Eimer.
InformationsquelleAutor Gil Adirim
S3 nicht unterstützt wildcard-Liste. Sie brauchen, um eine Liste sämtlicher Dateien und grep.
Obige Befehl wird geben Sie die Liste der Dateien in Ihrem Ordner, durchsucht es die Dateien im Ordner als gut. Nur grep den Dateinamen
Nehme an, wenn Sie möchten, finden Sie mehrere Dateien, erstellen Sie einen regulären Ausdruck, der diese und grep.
könnten Sie angeben, warum? Ich weiß, diese Operationen sind nicht annähernd so zuverlässig wie Analog-Dateisystem, aber eine schnelle Suche hat nicht viel für mich.
Wenn ich mich Recht erinnere, gibt es ein limit von 1000 auf die Anzahl der Elemente, die
aws s3 ls
zurück.InformationsquelleAutor skipper21
s3cmd bei mir auch klappt mit grep.
InformationsquelleAutor Rico