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:

linux, bash, rename, centos, debian, ubuntusay, jpg, sed, distros, quot, newname, substitute, requirements, rhel, batch, ls, mv, echo, originalname, doesn, spaces, ll, variable, _, ifs, en, filenames, samba, characters, colons, eg, searches, replaces,

Latest Articles

  • virt-resize: error: libguestfs error: could not create appliance through libvirt.
  • Asterisk Does Not Retry When Authentication Fails
  • Linux Debian Ubuntu How To Install PEPPER Faster and Latest Adobe Flash Player in Firefox
  • How To Speed Up Linux Ubuntu and Debian Based Computers By Improving CPU Performance and Changing the CPU Governor
  • Convert data or file to base64 on a single line
  • Linux Mint Ubuntu Debian radeon slow 2D performance issues radeon_dp_aux_transfer_native: 158 callbacks suppressed
  • mdadm: super0.90 cannot open /dev/sdb1: Device or resource busy mdadm: /dev/sdb1 is not suitable for this array.
  • How To Install NextCloud on Centos 7 and Centos 8
  • AH01630: client denied by server configuration:
  • ERROR: Could not find a version that satisfies the requirement PIL (from versions: none) ERROR: No matching distribution found for PIL
  • ZTE Camera Cannot Work unable to connect to camera. Camera has been disabled becaue of security policies or is being used by other apps
  • QEMU KVM how to boot off a physical CD/DVD/BDROM Drive
  • How To Install OpenProject on Centos 7 Step-by-Step Guide
  • Ubuntu Debian Linux Cannot Install Wine Solution - wine1.6 : Depends: wine1.6-i386 (= 1:1.6.2-0ubuntu14.2) but it is not installable wine1.4 : Depends: wine1.6 but it is not going to be installed
  • How To Install python 3.4 3.5 and up on Linux with wine - Working Solution
  • using Xvfb on virtual remote ssh server to have X graphical programs work
  • ssh Received disconnect from port 22:2: Too many authentication failures
  • named bind errors - DNSKEY: unable to find a DNSKEY which verifies the DNSKEY RRset and also matches a trusted key for '.'
  • OpenVZ vs LXC DIR mode poor security in LXC
  • httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/php.conf: Cannot load modules/libphp5.so into server: /lib64/libresolv.so.2: symbol __h_errno, version GLIBC_PRIVATE not defined in file libc.s