Wie verwenden von AWS-CLI nur kopieren von Dateien im S3-bucket, die die übereinstimmung eines gegebenen string-Muster

Ich bin über die AWS CLI zum kopieren von Dateien aus einem S3-bucket, um mein R-Maschine mit einem Befehl wie unten:

  system(
    "aws s3 cp s3://my_bucket_location/~/my_r_location/--recursive --exclude '*' --include '*trans*' --region us-east-1"
    )

Dies funktioniert wie erwartet, d.h. es kopiert alle Dateien in my_bucket_location, "trans" im Dateinamen befindet.

Das problem, das ich bin vor ist, dass ich noch andere Dateien mit ähnlichen Namenskonventionen, die ich nicht importieren möchten, die in diesem Schritt. Als ein Beispiel, in der Liste unten, ich will nur kopieren Sie die ersten beiden Dateien, nicht die letzten zwei:

File list
trans_120215.csv
trans_130215.csv
sum_trans_120215.csv
sum_trans_130215.csv

Wenn ich mit regex, ich könnte es mehr spezifische, wie "^trans_\\d+" zu bringen, in der nur die beiden ersten Dateien machen, aber dies scheint nicht möglich, die mit AWS CLI. Also meine Frage gibt es eine Möglichkeit, auch komplexere pattern-matching mithilfe von AWS CLI wie unten?

  system(
    "aws s3 cp s3://my_bucket_location/~/my_r_location/--recursive --exclude '*' --include '^trans_\\d+' --region us-east-1"
    )

Bitte beachten Sie, dass ich nur Informationen zu der Datei in Frage, d.h., ich will eine Datei importieren, die mit Muster "^trans_\\d+" kann ich nicht benutzen die Tatsache, dass die anderen unerwünschten Dateien enthalten sum_ an den start, denn dies ist nur ein Beispiel, es könnten auch andere Dateien mit ähnlichen Namen wie "check_trans_120215.csv".

Ich habe gedacht, dass andere alternativen, wie unten, aber in der Hoffnung es gibt eine Möglichkeit zum einstellen der Kopie-Befehl, um zu vermeiden, die sich entweder von diesen Strecken:

  • Auflistung aller Elemente im bucket > die Verwendung von regex in R, um die Dateien angeben, die ich möchte > Nur importieren Sie diese Dateien
  • Halten Sie die copy-Befehl, wie es ist > löschen Sie unerwünschte Dateien auf der R Maschine nach dem kopieren

InformationsquelleAutor Sam Gilbert | 2016-03-25

Schreibe einen Kommentar