Replacing duplicated extensions, like .rtf.rtf


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Replacing duplicated extensions, like .rtf.rtf
# 1  
Old 11-05-2014
Replacing duplicated extensions, like .rtf.rtf

Hi and good day,

[i have Mac OS 10.9.5 and bash]

In Terminal I tried
Code:
mv *.rtf.rtf *.rtf

to get rid of double rtf extensions ( which came about from some other process),
but this doesn't work.

I don't know why.

Also it should be for the main and for subfolders.
with
Code:
-R

?

Anyway, any assistance would be greatly appreciated!

With best regards,
Omar KN
# 2  
Old 11-05-2014
Lets take your first code:
Code:
 mv *.rtf.rtf *.rtf

How will the system know how to rename anything dot rtf.rtf to anything dot rtf?
The only case this would work is when moving files to a directory e.g.
Code:
 mv *.rtf  rtf/.

And so I let you conclude...

What you can do is write a script using find that searches all files with rtf.rtf extension to be replaced by .rtf...
# 3  
Old 11-05-2014
Well, yes I would need first to find all ".rtf.rtf" files,
[then pipe the result - XX No]

then replace those found, with a simple .rtf extension.

So with
Code:
find . -type f -iname "*.rtf.rtf"

I'll find my files, but they are quite a few, and now how to change the duplicated extension for those files, without doing it manually for each?

PS: I'd prefer to leave them in the folders where they belong, if possible.

/
with best regards,
Omar KN
Stockholm, Sweden
# 4  
Old 11-05-2014
You could just use a for loop:

Code:
for filename in $(find . -type f -iname "*.rtf.rtf")
do
   mv ${filename} ${filename%.rtf}
done

(If you have filenames with spaces in them or uppercase suffixes then you'll need to make it a bit smarter)
This User Gave Thanks to CarloM For This Post:
# 5  
Old 11-05-2014
Quote:
Originally Posted by OmarKN
Hi and good day,

[i have Mac OS 10.9.5 and bash]

In Terminal I tried
Code:
mv *.rtf.rtf *.rtf

to get rid of double rtf extensions ( which came about from some other process),
but this doesn't work.

I don't know why.
Remember two important things. First, that * does not get passed into programs, the shell handles that before mv even runs. Second, that mv works like
Code:
mv source [source, source, ...] destination

Imagine you have these three files in the folder:

file1.rtf file2.rtf.rtf file3.rtf

Your command will expand to:

mv (all files matching *.rtf.rtf) (all files matching *.rtf)

which would be:

mv file2.rtf.rtf file1.rtf file2.rtf.rtf file3.rtf

...and then, mv gets run, with those exact arguments.

If it actually did what you asked, it would destroy most of them, leaving only one survivor named 'file3.rtf'. Fortunately it will refuse to rename multiple files, only move them.
This User Gave Thanks to Corona688 For This Post:
# 6  
Old 11-05-2014
Code:
 mv ${filename} ${filename%.rtf}

So the found files are moved (changed), but what does % do?

/
with best regards,
Omar KN
Stockholm, Sweden
# 7  
Old 11-05-2014
Quote:
Originally Posted by OmarKN
Code:
 mv ${filename} ${filename%.rtf}

So the found files are moved (changed), but what does % do?

/
with best regards,
Omar KN
Stockholm, Sweden
It removes .rtf from the end of the name.

And, whether or not your pathnames might contain space or tab characters, you should always write your code to allow for that possibility:
Code:
find . -type f -name "*.rtf.rtf" | while read -r path
do      mv "${path}" "${path%.rtf}"
done

This User Gave Thanks to Don Cragun For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

RTFEditorKit - Write to RTF File

Hi, I am looking at writing the BLOB from database which is an rtf data to write to RTF file. I am trying to use the RTFEditorKit for the same and was struck with the write API it provides. write API takes the outstream and Document, all I have is Inputstream or bytestream from database -... (5 Replies)
Discussion started by: vijaykrc
5 Replies

2. UNIX for Dummies Questions & Answers

Duplicated UID

Hi folks! I need you help to discover what's the impact of a duplicated UID in an operating system. What's the meaning when someone put in different users the same UID? (3 Replies)
Discussion started by: phcostabh
3 Replies

3. Shell Programming and Scripting

Replacing multiple extensions

HI, I have some csv files with mutiple extensions, I want to remove all the extensions and keep only the .csv extension. anybody can suggest me how to do this. source files 1.txt.csv.txt.csv.csv.txt.csv 2.csv.txt.csv.txt.csv.txt target 1.csv 2.csv --Wang (1 Reply)
Discussion started by: wangkc
1 Replies

4. Shell Programming and Scripting

how to convert XLS to CSV and DOC/RTF to TXT

Hi, i don't know anything about PERL. Can anyone help me providing PERL scripts for 1. converting XLS to CSV (and vice-versa) 2. converting DOC/RTF to TXT Thanks much Prvn (1 Reply)
Discussion started by: prvnrk
1 Replies

5. UNIX and Linux Applications

looking for convert rtf to pdf utility

Hello all i have server that needs to add the ability to convert rtf files to pdf what you recommend me to use ( not open office please ) its spouse to process lots of files . something i can wrap in code and use (2 Replies)
Discussion started by: umen
2 Replies

6. UNIX for Dummies Questions & Answers

Problem to send rtf inline body

how send an rtf file as inline body of email (not as an attachment) sendmail/mailx < test.rtf is not working (7 Replies)
Discussion started by: srik_ux
7 Replies

7. UNIX for Advanced & Expert Users

Can root ID be duplicated

Hi, I have the root id and the uid is always 0 for the root. Can i create another user say admin with the uid as 0? If so will it have the same privilege as that of user. Will there be any effect while doing this? lorcan (6 Replies)
Discussion started by: lorcan
6 Replies

8. Shell Programming and Scripting

embedded exe file into rtf file

Hi All I want a method in shell script which will embed the exe file into rtf file si that the rtf file can be open in word and so my exe. Actually what is happening in my system at present : The report in my system is a self-extracting Zip file with filetype '.EXE'. Double clicking... (1 Reply)
Discussion started by: rawatds
1 Replies

9. Windows & DOS: Issues & Discussions

RTF files can they be converted once they are on linux system

:D mount -t vfat /dev/hda1 /mnt my dillemma is simple i have psion 5 mx wich is an epoc type machine not only does it only work on windows as far as I know but I have to convert the files (the usual stuff!) sometimes a humen error happens and the files that I want to transfer to the linux drive... (7 Replies)
Discussion started by: moxxx68
7 Replies

10. UNIX for Advanced & Expert Users

converting PDF to text, rtf doc format

Hi all Is there any program which can convert PDF to word processor file ? If the PDF has smart quotes, bullet icons, copyright and trademark symbols, etc. what happens to them intext format? So ideally would like to conver into rtf or doc. Thanks SS (1 Reply)
Discussion started by: saurya_s
1 Replies
Login or Register to Ask a Question