Rename except dot file extension


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rename except dot file extension
# 1  
Old 09-24-2015
Rename except dot file extension

After reading the manual of the command rename I would like to apply it to a folder with a couple of files containing old style dots before the file-type, e.g. up.to.the.roof.avi. So I'd like to rename them without the dots in between. Therefore I tried it the following way

Code:
rename -f -n  's/\.+/./g' *.avi

I assumed already being within the folder -f for file and -n for no acting, just showing what it would be. But nothing happens. So, whats my error? I tried also without the option -f. Nothing. Any hints? Thanks in advance. And py-renamer does not work properly.
# 2  
Old 09-24-2015
How would you like for up.to.the.roof.avi to look after the renaming? If you say "without the dots in between", that would make it as uptotheroofavi. Is that what you meant?

The command rename that you have installed in your system is the Perl script rename or the rename utility from util-linux? Both have the same name but their behavior is different.
This User Gave Thanks to Aia For This Post:
# 3  
Old 09-25-2015
learning me, I am using the perl script and whithout the dots in between coud be yes a) jampacked as you set it uptotheroof but without touching the file extension "up to the roof.avi" or b) "up to the roof.avi"
# 4  
Old 09-25-2015
Currently, I do not have any way of testing the Perl rename, however I wonder if the following might work:

Code:
rename -n 's/\.(?!\w+$)//g' *.avi

or
Code:
rename -n 's/\.(?!avi$)//g' *.avi

Remove the -n once you're satisfied with the result, since that flag means: do a dry run without acting upon it.

This might be another solution in bash. Remove the echo once you know that the dry run works. This will work for any extension, not just avi.
Code:
#!/bin/bash

for f in *.*.*; do
    name="${f%.*}"
    ext="${f#${name}}"
    dotless="${name//./}"
    new_name="${dotless}""${ext}"
    if [[ $f != $new_name ]]; then
        echo mv -v "$f" "$new_name"
    fi
done


Last edited by Aia; 09-28-2015 at 06:13 PM.. Reason: grammar
This User Gave Thanks to Aia For This Post:
# 5  
Old 09-28-2015
okay, I will try it, and later I can answer if it worked out, because I am now at another machine, trying something quite different, thats why it takes always one or two days for me to try and answer, so many thanks for your efforts, yep, the -n option was taken to not scrum all archive. BTW just 51 movies...
@AIA
BIT LATER, your script did it!!!!!
So now I can try those other two options, that are saving me to do such a task on larger archives, searching and trying, or worse, by hand. THANKS a lot, really.

Last edited by 1in10; 09-28-2015 at 08:22 PM.. Reason: S O L V E D
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Rename specific file extension in directory with match to another file in bash

I have a specific set (all ending with .bam) of downloaded files in a directory /home/cmccabe/Desktop/NGS/API/2-15-2016. What I am trying to do is use a match to $2 in name to rename the downloaded files. To make things a more involved the date of the folder is unique and in the header of name... (1 Reply)
Discussion started by: cmccabe
1 Replies

2. Shell Programming and Scripting

How to rename the extension of a file?

Hello, I have multiple files named rscclog_2013-03-25.txt;3 in a directory, where 2013-03-25 is the previous day's date and the number after extension .txt preceded by a ';' is any number which i do not know beforehand. Now, i have to rename all such files as rscclog_2013-03-25.txt thus,... (2 Replies)
Discussion started by: rahulkt1987
2 Replies

3. Shell Programming and Scripting

Rename file extension.

I have a list file that contains names of many files. I am reading one file name at a time using for loop Then I like to create one more list file but with the file extension changed to "ctl". Note: The file name can have any number of dots ".". But the extension after the last dot should be... (4 Replies)
Discussion started by: pinnacle
4 Replies

4. Shell Programming and Scripting

Rename file to uppercase except extension

Hi, I am trying to make all file in the directory uppercase but not their extension (ex: image.jpg becoming IMAGE.jpg) here is code i am trying. $ ls | while read file do name=${file%%.*} newfilename=$(echo $name | tr 'a-z' 'A-Z') mv $file $newfilename done any suggestions of... (4 Replies)
Discussion started by: johninweb
4 Replies

5. Shell Programming and Scripting

ksh command to rename all files with no extension

hi! i want to rename all files with no extension with the extension DAT. with this command ls |grep -v "\\." i can list files but i dont know how i am going to rename them.. so i tried FILE_LIST=ls |grep -v "\\." for TEST_FILE in ${FILE_LIST} do mv $TEST_FILE... (2 Replies)
Discussion started by: kouppoua
2 Replies

6. Shell Programming and Scripting

removing a word in a multiple file starting at the dot extension

hi I would like to ask if someone knows a command or a script on how to rename a multiple file in the directory starting at the end of the filename or at the .extension( i would like to remove the last 11 character before the extension) for example Below is the result of my command ls inside... (5 Replies)
Discussion started by: jao_madn
5 Replies

7. Shell Programming and Scripting

rename a file with new extension

Hi guys, i had many files like filename.20110520_20110519_050030 i have to rename the file by removint the last numerics .. i.e filename.dat i tried with cut command and removed the numerics but i'm not able to add .dat to the files. is there any command insted of cut command to... (1 Reply)
Discussion started by: apple2685
1 Replies

8. UNIX for Dummies Questions & Answers

Shell script to rename or change file extension case.

I searched the forum, but there was different type of rename. Hello. I have files in folder. Like: xxxxxxxx1.html or xxxxxxxx2.txt or xxxxxxxx3.tar.gz and how to rename or change file extension case to xxxxxxxx1.htm or xxxxxxx2.TXT or (5 Replies)
Discussion started by: Sheldon
5 Replies

9. Shell Programming and Scripting

rename file extension

I am trying for loop to rename file extension from .txt to .html : as below : for i in *.txt; do mv "$i" `basename $i`.html; done ------------------------------------------- But this renames a file file1.txt as file1.txt.html anyone know how get avoid .html added after .txt ? it... (4 Replies)
Discussion started by: sriram003
4 Replies

10. Shell Programming and Scripting

Recursicely search and rename file extension

Greetings to all!!:b: I have one root folder containing several other folders inside it. This tree structure is deep. And the files are of similar extension. I need to start at the top level and recursively search and rename all the files with say .a extension to .b . This is the code to... (7 Replies)
Discussion started by: riverside
7 Replies
Login or Register to Ask a Question