sed file rename


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed file rename
# 1  
Old 06-15-2012
sed file rename

Ubuntu -very new to shell scripts/Linux
I have many pictures with "FAMILY", "family" mixed in the file name and not all in the same directory;

I want to remove "family" case insensitive from the filenames;

Code:
find /media/Rock/pics/pics_bak/ -type f "*family*" | sed 's#family##gI'
# works for print but not to rename the file

Code:
find /media/Rock/pics/pics_bak/ -type f -iname "*family*" | rename 's#family##gI'
# error     Having no space between pattern and following word is deprecated at (eval 1) line 1,             <STDIN> line 37.
        Bareword found where operator expected at (eval 1) line 1, near "s#family##gI"

I tried various loops to assign sed result to variable so I can use mv without success

if file pattern is inconsistent and not necessarily in the same directory, am I approaching this the wrong way? I see many search and replace samples but didn't see samples with inconsistent pattern/directory

Last edited by pludi; 06-15-2012 at 01:54 PM..
# 2  
Old 06-15-2012
I did not test this at all, so proceed at your own peril.

Code:
find /media/Rock/pics/pics_bak/ -type f -iname '*family*' |
while IFS= read -r f; do
    mv "$f" "${f%/*}/$(printf '%s\n' "${f##*/}" | sed 's/family//gi')"
done

Regards,
Alister
# 3  
Old 06-15-2012
awesome Alister! Thanks a ton, it does not work for files inside directories but that gets me so much closer.. I'll keep working on it
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed to rename files in bash loop

I am trying to use sed to rename all .txt files in /home/cmccabe/test. However, I am getting an error that I seems to be putting the files in a new directory s, instead of in the original. Thank you :). bash # rename classified cd /home/cmccabe/test pattern2_old="_classify"... (2 Replies)
Discussion started by: cmccabe
2 Replies

2. UNIX for Dummies Questions & Answers

sed replace to rename each line a file

Have a file in this format This is line one ; line_one This is line two ; line_two This is line three ; line_three This is line four ; line four. I'm trying to make each line a new file called line_one line_two line_three line_four. Tried using split -1 but then I'm back needing to rename... (3 Replies)
Discussion started by: jimmyf
3 Replies

3. UNIX for Dummies Questions & Answers

Rename scripts using xargs/sed

Morning all I've got loads of scripts but the names are too long! I've stuck the list in a flat file (names) and I'm trying to read that in line by line and create the new names (in to directory new) from the list. It looks like this: xargs -n1 -I{} <names cat {} | sed... (1 Reply)
Discussion started by: Grueben
1 Replies

4. Shell Programming and Scripting

Rename file using sed or awk

I have a filename like 1_DATE_3_4.5_888 and I want to modify the date field (ie the last 4 digits ) alone and remove the last field. Old filename:1_DATE_3_4.5_888 Given date (for eg):120606259532 modified date:120606259899 new filename:1_<modified date>_3.4.5 (14 Replies)
Discussion started by: sandy88
14 Replies

5. Shell Programming and Scripting

sed to rename files in a folder - please help with script

Hello, I am new to shell scripting and stuck on renaming files in a folder. The files have the format chp01_00001.wav chp01_00002.wav .... chp02_00001.wav chp02_00002.wav .... but I want them to have the following names: chp_bloomy_00001.wav chp_bloomy_00002.wav chp_bloomy_00003.wav... (8 Replies)
Discussion started by: Bloomy
8 Replies

6. Shell Programming and Scripting

try to batch rename using sed (if this is best)

hi gooday I need some help with a rename I am attempting. I'd like to rename a bunch of files in a folder example list.dat.old to list_N.dat query.dat.old to query_N.dat note the two periods in (.dat.old) to become _N.dat I tried using sed like this ls *.dat.old | sed... (3 Replies)
Discussion started by: johnstrong
3 Replies

7. UNIX for Dummies Questions & Answers

Sed or Awk usage to rename string

I have gotten myself totally lost trying to sort this out and just need some help please.. I will have a multiple directories using the following naming convention with an undetermined number of files in each directory. 9780743582094_05of5_Accountable.wav I need to batch rename all files... (5 Replies)
Discussion started by: glev2005
5 Replies

8. Shell Programming and Scripting

Rename file using sed command

Greetings, I am very new to the UNIX shell scripting and would like to learn. However, I am currently stuck on how to process the below sample : Filename : DOCabcdef24387987ab90d.xml Pattern "DOC"+any character using and +".xml" And i want to change the second part of that file (any... (20 Replies)
Discussion started by: fanny_tirtasari
20 Replies

9. UNIX for Dummies Questions & Answers

Rename files with sed in an until loop (double post)

I want to change the name of some of my files (mypics-0001, mypics-0002, mypics-0003.....mypics-0240) and I want to double check to see if this code is right: x=0 until do sed 's/mypics\-*/bday/g' done Would this change all of my file names to "bday0001....bday0240"? Please let me... (0 Replies)
Discussion started by: jvpike
0 Replies

10. Shell Programming and Scripting

Using sed (or similar) to rename variable headings

Hello, I'm rather new to the world of regular expressions and sed, though am excited by its possibilities. I have a particular task I'd like to achieve, and have googled the topic quite a bit. However, having found some codes that perform a task very similar to what I'd like to do, I can't for... (2 Replies)
Discussion started by: redseventyseven
2 Replies
Login or Register to Ask a Question