Go to TogaWare.com Home Page. GNU/Linux Desktop Survival Guide
by Graham Williams
Duck Duck Go

Lowercase Filenames

20190204 There are times when we have a directory of files with some confused mixture of uppercase and lowercase names. On GNU/Linux the case of a filename is significant and thus we need to know how the precise capitalisation of a name in order to find a file. As a tradition filenames on Linux are typically all lowercase though today we also see mixed case filenames quite commonly. Non-the-less there are times when we may like to lowercase our filenames.

$ ls
Lemon_Squeeze_Track_01_Juice.abc
Lemon_Squeeze_Track_02_Justice-and-Penalty.abc
Lemon_Squeeze_Track_03_Junior-and-Petite.abc
Lemon_Squeeze_TRACK_04_Jump-and-Pan.abc
...

We use rename with the y operator to lowercase the names of all files in the current directory. The y operator translates from one sequence of characters to another. The -n is short for --nono and will report what the command would do but not actually do it. The wildcard for the filename argument (*) will expand to all files in the current directory but rename will only operate on those files whose filename matches the transformation string.

$ rename -n 'y/A-Z/a-z/' *
rename(Lemon_Squeeze_Track_01_Juice.abc, lemon_squeeze_track_01_juice.abc)
rename(Lemon_Squeeze_Track_02_Justice-and-Penalty.abc, lemon_squeeze_track_02_j...
rename(Lemon_Squeeze_Track_03_Junior-and-Petite.abc, lemon_squeeze_track_03_jun...
rename(Lemon_Squeeze_TRACK_04_Jump-and-Pan.abc, lemon_squeeze_track_04_jump-and...
...

If the promise is correct then we can execute the command, using -v, short for --verbose, in case a mistake is made. If a mistake is made can copy the verbose output into a script file and effectively create a script to undo the renaming.

$ rename -v 'y/A-Z/a-z/' *
Lemon_Squeeze_Track_01_Juice.abc renamed as lemon_squeeze_track_01_juice.abc
Lemon_Squeeze_Track_02_Justice-and-Penalty.abc renamed as lemon_squeeze_track_0...
Lemon_Squeeze_Track_03_Junior-and-Petite.abc renamed as lemon_squeeze_track_03_...
Lemon_Squeeze_TRACK_04_Jump-and-Pan.abc renamed as lemon_squeeze_track_04_jump-...
...

Our result is then a directory of files with all lowercase filenames.

$ ls
lemon_squeeze_track_01_jusice.abc
lemon_squeeze_track_02_justice-and-penalty.abc
lemon_squeeze_track_03_junior-and-petite.abc
lemon_squeeze_track_04_jump-and-pan.abc
...


Support further development by purchasing the PDF version of the book.
Other online resources include the Data Science Desktop Survival Guide.
Books available on Amazon include Data Mining with Rattle and Essentials of Data Science.
Popular open source software includes rattle and wajig.
Hosted by Togaware, a pioneer of free and open source software since 1984.
Copyright © 1995-2020 Togaware Pty Ltd. . Creative Commons ShareAlike V4.