Skip to content

Rename videos in bulk - linux commands

Unsolved Tips
12 2 2.1k 1
  • Managing videos is a big hassle. To follow the 3-2-1 backup strategy, I want to keep a copy of my videos online. After some research, I found that GoPro is the easiest and cheapest option, costing around $25 or $50 per year for unlimited footage. (i have 20TB videos)Now, the goal is to upload all my files to GoPro.

    GoPro doesn’t provide a drive-like system, so I need to upload files directly to the GoPro website. Before doing that, I want to add folder names to the file names using a Linux command to rename them. so i can use their search to find files later.

    All my videos are stored in Synology Drive in the following format:

    Videos/date/filename1.mp4
    

    I only want to rename the MP4 files to have the format date-filename1.mp4. How can I do this using a command targeting all directory and subdirectories?

  • Managing videos is a big hassle. To follow the 3-2-1 backup strategy, I want to keep a copy of my videos online. After some research, I found that GoPro is the easiest and cheapest option, costing around $25 or $50 per year for unlimited footage. (i have 20TB videos)Now, the goal is to upload all my files to GoPro.

    GoPro doesn’t provide a drive-like system, so I need to upload files directly to the GoPro website. Before doing that, I want to add folder names to the file names using a Linux command to rename them. so i can use their search to find files later.

    All my videos are stored in Synology Drive in the following format:

    Videos/date/filename1.mp4
    

    I only want to rename the MP4 files to have the format date-filename1.mp4. How can I do this using a command targeting all directory and subdirectories?

    @Hari I don’t think the GoPro subscription is going to cut it here to be honest. The Web client will have limits and likely upload speeds will be incredibly slow.

    I addition, web uploading always seem to lack the ability to resume at last failure etc like your can get with SFTP and uploading 20Tb of videos will literally take forever.

    20Tb of videos seems excessive also. You’ll struggle to find any storage provider who will give you that level of storage, and GoPro are likely to have fair usage limits what will prevent you from uploading that sort of volume.

    The script you’re looking for in terms of preparing each upload (rename and move into directory) isn’t difficult, but do you know for sure that GoPro actually support this?

  • @Hari I don’t think the GoPro subscription is going to cut it here to be honest. The Web client will have limits and likely upload speeds will be incredibly slow.

    I addition, web uploading always seem to lack the ability to resume at last failure etc like your can get with SFTP and uploading 20Tb of videos will literally take forever.

    20Tb of videos seems excessive also. You’ll struggle to find any storage provider who will give you that level of storage, and GoPro are likely to have fair usage limits what will prevent you from uploading that sort of volume.

    The script you’re looking for in terms of preparing each upload (rename and move into directory) isn’t difficult, but do you know for sure that GoPro actually support this?

    @phenomlab i am looking for a linux command i will be running it on my synology to add directory name to the files, then i will be uploading manually 50 videos per day. i have the account and it is free why not trying for its full potential 😄

  • @phenomlab i am looking for a linux command i will be running it on my synology to add directory name to the files, then i will be uploading manually 50 videos per day. i have the account and it is free why not trying for its full potential 😄

    @Hari more than happy for you to try it, although I think it’s going to be rate limited and will go against their fair usage policy.

  • Could you please help me with a linux command to do rename files?

  • Could you please help me with a linux command to do rename files?

    @Hari Of course, but I need a bit more detail around how you want to name the directories you mentioned.

    As a starting point, you could so something like this

    You can use the find command along with bash to achieve this. Here’s an example command:

    find /path/to/root/directory -type f -name "*.mp4" -exec bash -c 'for file; do mv "$file" "$(date +"%Y%m%d")-${file##*/}"; done' bash {} +
    

    This command will find all .mp4 files under the specified root directory and its subdirectories, then rename them to the format date-filename1.mp4, where the date is in the format YYYYMMDD.

    Here’s a breakdown of what will happen

    find /path/to/root/directory -type f -name "*.mp4"
    
    • Finds all files with the extension .mp4 under the specified root directory.
    -exec bash -c '...' bash {} +
    
    • Executes the specified bash command for each found file.
    'for file; do mv "$file" "$(date +"%Y%m%d")-${file##*/}"; done'
    

    This bash script renames each file by appending the date and a hyphen to the original filename.

    Make sure to replace /path/to/root/directory with the actual path to your root directory.

  • @Hari Of course, but I need a bit more detail around how you want to name the directories you mentioned.

    As a starting point, you could so something like this

    You can use the find command along with bash to achieve this. Here’s an example command:

    find /path/to/root/directory -type f -name "*.mp4" -exec bash -c 'for file; do mv "$file" "$(date +"%Y%m%d")-${file##*/}"; done' bash {} +
    

    This command will find all .mp4 files under the specified root directory and its subdirectories, then rename them to the format date-filename1.mp4, where the date is in the format YYYYMMDD.

    Here’s a breakdown of what will happen

    find /path/to/root/directory -type f -name "*.mp4"
    
    • Finds all files with the extension .mp4 under the specified root directory.
    -exec bash -c '...' bash {} +
    
    • Executes the specified bash command for each found file.
    'for file; do mv "$file" "$(date +"%Y%m%d")-${file##*/}"; done'
    

    This bash script renames each file by appending the date and a hyphen to the original filename.

    Make sure to replace /path/to/root/directory with the actual path to your root directory.

    @phenomlab I’m trying to put the folder name at the beginning of each file. I found out about this by looking at a few renaming programs on Windows.

    I want to rename the files like this:

    Website/FolderName/file1.mp4
    Website/FolderName2/file10.mp4

    expected output targeting directories and sub directories:

    FolderName2-file10.mp4
    FolderName-file1.mp4
    

    I want the file names to be the folder name plus the file name, focusing on MP4 files.

    351cef3f-df60-4620-b146-2e5541bad80c-image.png

    9f71efa6-7ffc-4417-a418-5e4e73270b00-image.png

  • @phenomlab I’m trying to put the folder name at the beginning of each file. I found out about this by looking at a few renaming programs on Windows.

    I want to rename the files like this:

    Website/FolderName/file1.mp4
    Website/FolderName2/file10.mp4

    expected output targeting directories and sub directories:

    FolderName2-file10.mp4
    FolderName-file1.mp4
    

    I want the file names to be the folder name plus the file name, focusing on MP4 files.

    351cef3f-df60-4620-b146-2e5541bad80c-image.png

    9f71efa6-7ffc-4417-a418-5e4e73270b00-image.png

    @Hari i’m slightly confused. Are you looking to do this from Windows, or from Linux? The post below seems to point towards Linux, hence my response

    33dc5fff-395d-4131-8929-5c0ba0939a64-image.png

  • @Hari i’m slightly confused. Are you looking to do this from Windows, or from Linux? The post below seems to point towards Linux, hence my response

    33dc5fff-395d-4131-8929-5c0ba0939a64-image.png

    @phenomlab i am sharing examples from a windows machine and i am supposed to run these commands on Synology nas

  • @phenomlab i am sharing examples from a windows machine and i am supposed to run these commands on Synology nas

    @Hari How do you connect to the Synology? Is this via SMB or mapped drive? I’m thinking it may be easier to go down this route and use a batch copy/rename application in Windows.

  • @Hari How do you connect to the Synology? Is this via SMB or mapped drive? I’m thinking it may be easier to go down this route and use a batch copy/rename application in Windows.

    @phenomlab i think i am connected using SMB

    is this the batch rename software? https://www.bulkrenameutility.co.uk/

    21df3f50-d8c8-493a-a52f-18b0395b3852-image.png

  • @phenomlab i think i am connected using SMB

    is this the batch rename software? https://www.bulkrenameutility.co.uk/

    21df3f50-d8c8-493a-a52f-18b0395b3852-image.png

    @Hari Yes, that’s one (of many) I would recommend. It’s going to be easier to do this under Windows and the fact that you are already connected using SMB is a huge plus.


Related Topics
  • Arch Linux | KDE Plasma Guide

    Moved Guides arch linux kde desktop guide
    3
    1 Votes
    3 Posts
    2k Views
    @phenomlab you are very welcome. I have bookmarks but it is also nice to have this info out there for other people to use as well, and also a place I can go to grab it again if I lose my bookmarks haha
  • Windows 10 End of Life

    General windows linux arch end of life
    10
    2 Votes
    10 Posts
    1k Views
    @phenomlab this looks very nice as well. It is nice that they keep the KDE Neon a rolling release so you will get those updated apps even though Ubuntu isn’t a rolling release. Is it a rolling distro? KDE neon is rolling for KDE software. The Ubuntu base OS is not, but certain packages will be updated as needed to support KDE software requiring newer library versions than what is provided by Ubuntu. Apps from the main repositories are not rolling either, and therefore can be up to two years old. Users are encouraged not to use them, and to instead get apps from Snap or Flatpak using KDE’s Discover app store. In neon, Discover is set up to only show apps from these sources, filtering out apps from the repositories.
  • Arch Server Progress

    Chitchat arch linux server web server
    52
    26 Votes
    52 Posts
    9k Views
    @phenomlab said in Arch Server Progress: PITA LOL yes for sure!!
  • Arch Linux + Me = Crazy

    Linux arch linux web server vps
    10
    0 Votes
    10 Posts
    1k Views
    @Madchatthew hmm, yes, that might be problematic.
  • 1 Votes
    3 Posts
    962 Views
    @Panda said in Wasting time on a system that hangs on boot: Why do you prefer to use KDE Linux distro, over say Ubuntu? A matter of taste really. I’ve tried pretty much every Linux distro out there over the years, and whilst I started with Ubuntu, I used Linux mint for a long time also. All of them are Debian backed anyway I guess I feel in love with KDE (Neon) because of the amount of effort they’d gone to in relation to the UI. I agree about the lead and the OS statement which is why I suspect that Windows simply ignored it (although the Device also worked fine there, so it clearly wasn’t that faulty)
  • Linux vs Windows - who wins ?

    Blog windows linux
    8
    4 Votes
    8 Posts
    2k Views
    @phenomlab LOL ah yes, I remember all of that. The good ole days!
  • Is plesk good over virtual min?

    Solved Linux linux
    6
    4 Votes
    6 Posts
    1k Views
    @phenomlab thank you
  • Environment Variables

    Solved Linux
    8
    1
    1 Votes
    8 Posts
    2k Views
    @madchatthew great you got this to work ! Thanks for the update.