You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CLI递归上传文件时如何去除文件扩展名?

解决方案:批量上传Parquet文件并去除扩展名

AWS CLI的aws s3 cp --recursive命令本身不支持批量重命名文件,要实现上传时去除.parquet扩展名的需求,需要通过脚本循环处理每个文件,以下是两种可行方法:

方法1:遍历当前目录及子目录的Parquet文件

如果需要递归处理所有子目录中的.parquet文件,用find命令配合循环实现:

find ./MyDir -type f -name "*.parquet" | while read -r file; do
  # 提取文件的相对路径并去除扩展名
  relative_path=${file#./MyDir/}
  target_path=${relative_path%.parquet}
  # 执行上传,目标路径自动去掉.parquet
  aws s3 cp "$file" "s3://mybucket/$target_path"
done

方法2:仅处理当前目录下的Parquet文件

如果只需要处理MyDir根目录下的文件,用简单的for循环即可:

for file in ./MyDir/*.parquet; do
  # 提取不带扩展名的文件名
  filename=$(basename "$file" .parquet)
  aws s3 cp "$file" "s3://mybucket/$filename"
done

额外提示

  • 测试操作时可以添加--dryrun参数(如aws s3 cp --dryrun ...),先预览上传路径是否符合预期,再执行实际上传
  • 如果需要保留原目录结构,方法1会自动将子目录中的文件同步到S3对应路径下,同时去除扩展名

内容的提问来源于stack exchange,提问作者clueless

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:27:01