linux bash mass rename tool Centos/Debian/Ubuntu

Say you have a bunch of files like this:

file-01.jpg

file-02.jpg

...............

What if you want to mass rename them?

the rename tool can work just like sed

For Debian based distros:

Note "file" is what we search for and "newname" is what we replace it with, so substitute according to your requirements.

rename s/file/newname/ name-file-*.jpg

For RHEL Centos:

rename file newname file-*
 

Alternative way to batch rename files in Linux with bash using ls, sed and mv

for file in `ls -1`; do
newname=`echo $file|sed s/originalname/newname/g`
mv $file $newname
done

Just change "originalname" and "newname" in sed to match what you need.

The above doesn't work on spaces you'll need to use this code instead:

Based on this solution for not treating spaces as a new line or new variable in bash

For example the below code will replace all spaces with _

IFS=$(echo -en "\n\b")

for file in `ls -1`; do newname=`echo $file|sed s/" "/"_"/g`;  mv $file $newname;  done

 

Another example

Say if you have some filenames that have illegal samba characters and want to remove them.

In this example it is times with colons eg "14:30:32"

Sed searches for ":" and replaces with "" (nothing) but we could replace with _ - or whatever else.

for file in `ls -1`; do
newname=`echo $file|sed s/://g`
mv $file $newname
echo $newname
done
 



Tags:

Latest Articles

  • PHP2Shell Patching, Migration and Vulnerability Guide With Solutions
  • Firefox PDF Does Not Display - Shows Desktop Or Other App Instead Solution
  • How To Convert HTML to Text Based PDF
  • How To Emulate Android in Linux
  • How to use KVM and GUI inside Docker
  • python spacey ERROR: No matching distribution found for thinc<8.4.0,>=8.3.12
  • Debian 11 security repo fixes due to EOL
  • MySQL vs MariaDB how to create a socket user tutorial
  • Ubuntu Linux Mint Desktop Dark Black Cannot See Solution
  • How to combine .txt ACLs without breaking things
  • How to ping all of Googlebot's IPs script
  • 'virtio0' uses a qcow2 feature which is not supported by this qemu version: QCOW version 3
  • Linux bash script to get the IP of a list of hostnames
  • How To Use Camera Webcam in Docker for OBS Studio etc...
  • Computer Server Won't Post Boot Or Enter BIOS Setup After Installing RAID SAS or GPU Card etc..
  • How To Test PHP Scripts from CLI with GET variables/query string
  • apt-cache how to see all available versions of a package in Debian Ubuntu Mint
  • Virtualbox VBox Guest-utils drag and drop files stops working with Windows VMs
  • How To Remove Ubuntu Netplan and Go Back to /etc/network/interfaces
  • How To Force Flash an AMD Instinct GPU To Another Model Using Debian Ubuntu Mint Linux