我使用 Google Cloud Storage 作为源,BigQuery 作为 BigQuery 中可用的数据传输功能的目标。因此,在创建新数据传输时的数据源详细信息中,我需要输入“Cloud Storage URI”,但我不知道如何排除文件名上带有特定文本(例如“_All_Data”)的文件。
我试过使用ChatGPT提供的模式
bucket/filepath1/2023/*/*/filename_2023*!_All_Data.csv
,但是没有用。我期望我能够在 2023 年提取所有文件名以“filename_2023”开头的文件,并排除所有包含“_All_Data”的文件。
基本上,我的期望是我能够提取如下文件:
bucket/filepath1/2023/05/03/filename_20230503.csv
bucket/filepath1/2023/05/02/filename_20230502.csv
bucket/filepath1/2023/03/03/filename_20230303.csv
并排除文件,例如:
bucket/filepath1/2023/05/03/filename_20230503_All_Data.csv
bucket/filepath1/2023/05/02/filename_20230502_All_Data.csv
bucket/filepath1/2023/03/03/filename_20230303_All_Data.csv
试一试。我检查了这个工作。
grep -v 'All'
将确保其中包含 All
的文件名将被排除,其他文件将被复制到 target-gcs-bucket
gsutil ls gs://your-source-gcs-bucket/*.* | grep -v 'All' | gsutil cp -I gs://your-target-gcs-bucket/