如何基于模式匹配在AWS s3中查找文件

时间:2018-07-12 20:44:21

标签: amazon-web-services amazon-s3 ls

我需要根据以下模式匹配在AWS s3中查找文件- temp = aws s3 ls s3://<bucket_name><path to file>/abc_[[0-9]][[0-9]][[0-9]][[0-9]]-[[0-9]][[0-9]]-[[0-9]][[0-9]]_[[0-9]][[0-9]][[0-9]][[0-9]]-[[0-9]][[0-9]]-[[0-9]][[0-9]].csv

S3上的实际文件名- abc_2018-07-01_2018-07-30.csv

我想要得到的输出如下-

2018-07-12 13:27:47 0 src_pap_search_results_log_2018-07-01_2018-07-31.csv

2 个答案:

答案 0 :(得分:2)

使用AWS Command-Line Interface (CLI) aws s3 ls命令,将其通过grep传递并提供您的正则表达式模式。

答案 1 :(得分:1)

您需要将 s3 命​​令的结果通过管道传送到 grep 并使用正则表达式。

aws s3 ls s3://<bucket_name> | grep -e 'abc_.*'

要将其限制为每个路径中的 csv 文件,请发出

aws s3 ls s3://<bucket_name> --recursive | grep '.csv' | grep -e 'abc_.*'

修改 grep 的正则表达式字符串以匹配您要查找的文件。