Suppose I have a folder with thousands of photos named all randomly. How can one rename them as photo1, photo2,…,photo1000 from the command-line/terminal?
Ubuntu – Renaming a bunch of files using Command-line
command line
command line
Suppose I have a folder with thousands of photos named all randomly. How can one rename them as photo1, photo2,…,photo1000 from the command-line/terminal?
Best Answer
I will assume that you want to keep a proper suffix on the filenames:
Notes
c=1
: This initalizes the counter. You can set it to any number you like.for f in *.jpg ; do
: This signifies the beginning of a shellfor
-loop. While much of shell-scripting can be difficult to make work when file names can contain spaces, newlines or other difficult characters, this construction is safe against even the most hostile file names.mv "$f" "photo$c.jpg"
: This uses the counterc
and does the actual renaming of files. The file name$f
is in double-quotes to protect the name from the various possible shell expansions.c=$(($c+1))
: This increments the counter for the next loopdone
: The signifies the end of thefor
loop.