#!/bin/bash set -euox pipefail # Define Paths SOURCE_ROOT="./cars" TARGET_ROOT="/content/cars" mkdir -p "$TARGET_ROOT" tree "$SOURCE_ROOT" # DEBUG # Find all archives recursively (zip, 7z, rar) find "$SOURCE_ROOT" -type f \( -name "*.zip" -o -name "*.7z" -o -name "*.rar" \) | while read archive; do # Get the filename without extension filename=$(basename -- "$archive") car_name="${filename%.*}" echo "--------------------------------------" echo "Processing: $car_name" # Create a temp directory for extraction temp_dir=$(mktemp -d) # Extract contents 7z x "$archive" -o"$temp_dir" -y > /dev/null # FILTERING LOGIC find "$temp_dir/$car_name" -type f \ -not -path "**/skins/*/livery.png" \ -not -path "**/skins/*/preview.jpg" \ -not -path "**/skins/*/preview.jpeg" \ -not -name "ui_skin.json" \ -not -name "badge.png" \ -not -name "ui_car.json" \ -not -name "data.acd" \ -delete find "$temp_dir/$car_name" -type d -empty -delete echo "After filtering:" tree "$temp_dir/$car_name" cp -r "$temp_dir/$car_name" "$TARGET_ROOT" done