Skip to content

Instantly share code, notes, and snippets.

@zhexuany
Created July 8, 2025 13:05
Show Gist options
  • Select an option

  • Save zhexuany/061c8e4c6bbb54e0bc673b384dcedb90 to your computer and use it in GitHub Desktop.

Select an option

Save zhexuany/061c8e4c6bbb54e0bc673b384dcedb90 to your computer and use it in GitHub Desktop.
When you have nested directories having mcap fiels, Using this script to upload all data to coScene
#!/bin/bash
set -e # 遇到错误自动退出
# 递归处理所有 .mcap 文件
find . -type f -name "*.mcap" | while read -r original_file; do
echo "▶ Processing: $original_file"
# 1. 压缩文件(生成临时压缩文件)
compressed_file="${original_file%.mcap}_compressed.mcap"
if [[ ! -f "$compressed_file" ]]; then
echo " Compressing..."
mcap compress "$original_file" -o "$compressed_file" || {
echo " ❌ Compression failed, skipping"
continue
}
fi
# 2. 创建记录
record_name=$(basename "$original_file" .mcap)
dir_path=$(dirname "$record_name")
echo ''
record_id=$(cocli record create --title "$record_name" | grep "Record created:" | awk '{print $3}')
echo " ✅ Record created: $record_id"
# 3. 上传压缩后的文件
echo "Uploading compressed version..."
echo cocli record upload "$record_id" "$compressed_file"
echo cocli record upload "$record_id" left_arm_dh.txt
echo cocli record upload "$record_id" metadata.yaml
echo cocli record upload "$record_id" right_arm_dh.txt
echo cocli record upload "$record_id" camera.json
# 4. 打标签
echo cocli record update "$record_id" -l mcap
echo cocli record update "$record_id" -l multip_file
echo " 🏷️ Tags added: mcap, multip_file,"
# 5. 用压缩文件替换原始文件(保持同名)
mv -f "$compressed_file" "$original_file"
echo " 🔄 Replaced original with compressed file"
# 6. 清理临时文件(可选)
# [ -f "$compressed_file" ] && rm "$compressed_file"
echo "✔ Completed: $original_file → Record $record_id"
echo "────────────────────────────────────"
done
echo "All done! 🎉"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment