#!/bin/bash # Check if the input file is provided if [ "$#" -eq 0 ]; then echo "Usage: $0 " exit 1 fi input_file="$1" output_file="formatted_files.json" added_dir="./spiri_src/added" modified_dir="./spiri_src/modified" # Create the output directories if they don't exist mkdir -p "$added_dir" mkdir -p "$modified_dir" # Start of the formatted output echo "{" > "$output_file" echo ' "file-paths": [' >> "$output_file" # Loop through each line in the input file while IFS= read -r line; do # Extract information from the input line prefix=$(echo "$line" | cut -c 1) file_path=$(echo "$line" | awk 'NF>1{print $NF}') case "$prefix" in "A") dst_dir="$added_dir" ;; "R") dst_dir="$added_dir" ;; "M") dst_dir="$modified_dir" ;; *) echo "Unknown prefix: $prefix" continue ;; esac src_path="./SpiriQGC/$file_path" dst_path="$dst_dir/$file_path" cp --parents "$src_path" "$dst_dir" formatted_path=' { "src": "'"$dst_path"'", "dst": "enddestination/'"$file_path"'" },' echo "$formatted_path" >> "$output_file" done < "$input_file" mv ./spiri_src/modified/SpiriQGC/* ./spiri_src/modified/ mv ./spiri_src/added/SpiriQGC/* ./spiri_src/added/ rmdir ./spiri_src/added/SpiriQGC/ rmdir ./spiri_src/modified/SpiriQGC/ # End of the formatted output echo ' ]' >> "$output_file" echo "}" >> "$output_file" echo "Formatted file paths written to $output_file"