Title basically, I need to parse the date modified, the time and seconds in order to reconstruct the filenames in the format of an android phone’s camera roll.

I should be able to make the script once I know how to parse the metadata is all

  • Eager Eagle@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    1 year ago

    maybe something like this using mediainfo and exiftool?

    #!/bin/bash
    
    for file in *.jpg *.mp4; do
        # Extract date and time from file's metadata
        if [[ $file == *.jpg ]]; then
            datetime=$(exiftool -DateTimeOriginal -d "%Y%m%d_%H%M%S" "$file" | awk -F': ' '{print $2}')
        else
            datetime=$(mediainfo --Output="General;%File_Modified_Date%" "$file" | awk -F' ' '{print $1"_"$2}' | tr -d ':' | tr -d '-')
        fi
    
        # If datetime was found, rename the file 
        if [ -n "$datetime" ]; then
            # Extract extension of file 
            ext="${file##*.}"
            # Rename file with date and time as prefix (remove echo after testing it)
            echo mv -- "$file" "${datetime}.${ext}"
        fi
    
    done