2014-12-03 6 views

cevap

21

--query argüman JMESPath ifadelerini kullanıyor. Bir dize kalıbı aramanıza olanak veren JMESPath has an internal function contains.

Bu istenen sonuçlar vermelidir: (. Linux ile geri ` etrafında mySearchPattern keneler yerine tek tırnak ' kullanmak için gerekli)

aws s3api list-objects --bucket myBucketName --query "Contents[?contains(Key, `mySearchPattern`)]" 

tuşları başlangıç ​​aramak istiyorsanız Belirli karakterlerle, ayrıca --prefix bağımsız değişkenini de kullanabilirsiniz:

aws s3api list-objects --bucket myBucketName --prefix "myPrefixToSearchFor" 
+0

Linux üzerinde tek tırnak kullanmadı. Ama backticks kaçmak çalıştı. (Örneğin. \\ 'mySearchPattern \\') – swdev

+0

Ayrıca, eğer mySearchPattern salt bir sayıysa (ör. '20150101'), CLI’nın bir tamsayı değil, bir dize olması gerektiği konusunda şikâyet eder. Senin içinden bile alıntı yaptı. SearchPattern'de bir rakam içermeyen dışında bir çözüm bulamadı (örneğin, '20150101 /'), o zaman şikayet etmez. – swdev

+0

Tek tırnaklı yorum için teşekkürler! Wtf'nin gittiğini merak ediyordum, – notzippy

İlgili konular