I wrote a script that manages the files of GoPro footage, thumbnails and the low resolution copy of the video files. It asks for the footage directory and has the option to rename all files equally so they can be selected, separated, or processed easier, or move all the low resolution copies into another folder in the same directory.
Besides posting it on GitHub is there anywhere else I can upload it or share it?
I guess I’ll post it here then:
#!/bin/bash # Function to display the menu display_menu() { echo "Select an option:" echo "1. Move all .LRV files to 'LRV' directory" echo "2. Undo move operation" echo "3. Rename files starting with 'GL' to 'GX'" echo "4. Undo renaming operation for .LRV files" echo "5. Exit" read -p "Enter choice (1, 2, 3, 4, or 5): " choice } # Function to handle option 1 move_lrv_files() { # Create the LRV directory mkdir "LRV" # Move all the .LRV files to the LRV directory mv *.LRV "LRV" echo "Moved all .LRV files to 'LRV' directory" } # Function to handle option 2 undo_move_operation() { # Move all .LRV files back to the working directory mv LRV/*.LRV . # Remove the LRV directory rmdir LRV echo "Undid move operation" } # Function to handle option 3 rename_files() { # Rename files starting with 'GL' to 'GX' for file in GL*; do newname="${file/GL/GX}" mv "$file" "$newname" echo "Renamed file '$file' to '$newname'" done } # Function to handle option 4 undo_rename_files() { # Undo renaming operation for .LRV files (revert files from 'GX' to 'GL') for file in GX*.LRV; do newname="${file/GX/GL}" mv "$file" "$newname" echo "Renamed file '$file' to '$newname'" done } # Main script if [[ $1 == "-d" ]]; then # Use directory provided as command-line argument directory=$2 else # Ask user for the working directory read -p "Please enter the path of the working directory: " directory fi # Change the working directory and check if it was successful if cd "$directory"; then while true; do display_menu # Check user choice and execute the appropriate function case $choice in 1) move_lrv_files ;; 2) undo_move_operation ;; 3) rename_files ;; 4) undo_rename_files ;; 5) echo "Exiting..." break ;; *) echo "Invalid choice" ;; esac echo done else # Error message if cd command fails echo "Error: Invalid path. Please double check the working directory." fi