#!/bin/bash

# Create output file in root directory
output_file="bluetooth_data_processed.txt"

# Loop over subdirectories starting with "unp-"
find . -maxdepth 1 -type d -name "unp-*" | while read -r dir; do
    echo "Processing directory: $dir"

    # Create processed directory if it doesn't exist
    mkdir -p "$dir/processed"

    # Loop over log files in each directory
    find "$dir" -maxdepth 1 -type f -name "*.log" -mtime -2 | while read -r logfile; do
        echo "  Processing file: $(basename "$logfile")"

        # Extract device number and datetime from filename
        # Example: unp-pi-04.nhm.ac.uk-20250730-123300.log -> 04 and 20250730-123300
        basename_file=$(basename "$logfile" .log)
        device_num=$(echo "$basename_file" | grep -oP 'unp-pi-\K\d+')
        datetime=$(echo "$basename_file" | grep -oP '\d{8}-\d{6}')

        # Extract first appearance of each address
        # Using awk to track seen addresses and print only first occurrence
        # Prepend device number and datetime to each row
        awk -v dev="$device_num" -v dt="$datetime" '!seen[$1]++ {print dev "\t" dt "\t" $0}' "$logfile" >> "$output_file"

        # Move processed file to processed directory
        mv "$logfile" "$dir/processed/"
        echo "    Moved to: $dir/processed/$(basename "$logfile")"
    done

    echo ""
done

exit 0
