Replace string, grab files, rename and move


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace string, grab files, rename and move
# 1  
Old 10-27-2012
Replace string, grab files, rename and move

Hello there! I'm having a lot of trouble writing a script.

The script is supposed to:
1) Find all files with the name "Object.mtl" within each folder in the directory: /Users/username/Desktop/convert/Objects
2) Search and replace the string ".bmp" with ".tif" (without the quotations)
3) Output the file to /Users/username/Desktop/convert/Props/ using the name of the folder the object was found in + .mtl

Example:
Code:
Found: /Users/username/Desktop/convert/Objects/Props00/Object.mtl
(Replace all ".bmp" with ".tif")
Output to: /Users/username/Desktop/convert/Props/Prop00.mtl
Found: /Users/username/Desktop/convert/Objects/Props01/Object.mtl
(Replace all ".bmp" with ".tif")
Output to: /Users/username/Desktop/convert/Props/Prop01.mtl
...And so on

Then:
4) Find all files with the name "Object.obj" within each folder in the directory: /Users/username/Desktop/convert/Objects
5) Rename the file to the folder it was found in + .obj
6) Move (or copy it doesn't really matter) to /Users/username/Desktop/convert/Props/

Example:
Code:
Found: /Users/username/Desktop/convert/Objects/Props00/Object.obj
(Rename Object.obj to Props00.obj)
Output to: /Users/username/Desktop/convert/Props/Prop00.obj
Found: /Users/username/Desktop/convert/Objects/Props01/Object.obj
(Rename Object.obj to Props01.obj)
Output to: /Users/username/Desktop/convert/Props/Prop01.obj
...And so on

Please if you could spare any help I would appreciate it! Smilie
Thank you very much!

By the way:
I used to know some very basic sed/unix programming, but it has all been lost. Here is what I started to do if you would like a good laugh:
Code:
find /Users/username/Desktop/convert/Objects -name "Object.mtl" -type f -exec sh -c '\
sed 's/.bmp/.tif/g' `dirname {} `/Object.mtl > `dirname {}`/Object2.mtl; \
rm -rf {} \
' \;

# 2  
Old 10-27-2012
You can follow below steps:-

Code:
for mtl_file in `find /Users/username/Desktop/convert/Objects -name "Object.mtl" -type f`
do
   p_dir=`echo ${mtl_file} | awk -F"/" ' { print $(NF-1) } '`
   sed 's/\.bmp/\.tif/g' ${mtl_file} > /Users/username/Desktop/convert/Props/${p_dir}.mtl
done

for obj_file in `find /Users/username/Desktop/convert/Objects -name "Object.obj" -type f`
do
   p_dir=`echo ${obj_file} | awk -F"/" ' { print $(NF-1) } '`
   mv ${obj_file} /Users/username/Desktop/convert/Props/${p_dir}.obj
done


Last edited by Yoda; 10-27-2012 at 11:43 AM..
This User Gave Thanks to Yoda For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SBATCH trinity for multiple files and rename/move the output files

Hey guys, I have wrote the following script to apply a module named "trinity" on my files. (it takes two input files and spit a trinity.fasta as output) #!/bin/bash -l #SBATCH -p node #SBATCH -A <projectID> #SBATCH -n 16 #SBATCH -t 7-00:00:00 #SBATCH --mem=128GB #SBATCH --mail-type=ALL... (1 Reply)
Discussion started by: @man
1 Replies

2. Shell Programming and Scripting

How to rename (move) most recent files in directory?

I'm using cygwin32 on Windows. DN is an environment variable pointed at my download directory. This command works to move the single most recent file in my download directory to my current directory: mv "`perl -e '$p = $ARGV; opendir $h, $p or die "cannot opendir $p: $!"; @f = sort { -M $a... (2 Replies)
Discussion started by: siegfried
2 Replies

3. UNIX for Dummies Questions & Answers

Rename files in a directory and move them

I have a directory e2e_ms_xfer/cent01 this contains the multiple files some of which will be named below with unique date time stamps e2e_ms_edd_nom_CCYYMMDD_HHMM.csv What I want to do is in a loop 1) Get the oldest file 2) Rename 3) Move it up one level from e2e_ms_xfer/cent01 to... (1 Reply)
Discussion started by: andymay
1 Replies

4. Shell Programming and Scripting

Windows Power Shell - rename files and move

hi people; i want to make a file/folder operation as follows. - i have 41 folders in Windows and each of them have same-named files (~200 files each) inside. - i want to stack these files together in a folder but Windows is asking to "overwrite" (as usual) since the file names are the same.... (2 Replies)
Discussion started by: gc_sw
2 Replies

5. Shell Programming and Scripting

Need to move and rename a list of files

Hi, I need to do something easy but I can't seem to figure out how to do this. Let's say I have 6 files in the directory below: /ebsbeta_f/flash/EBSUATQB/onlinelog o1_mf_6_55klt7nr_.log o1_mf_3_55klskj4_.log o1_mf_4_55klsrl1_.log o1_mf_5_55klt09p_.log o1_mf_2_55klv1ts_.log... (10 Replies)
Discussion started by: exm
10 Replies

6. Shell Programming and Scripting

Rename/Move files and schedule the script

Hello, I'm new in the forum and in UNIX scripting, what I need is to write a simple batch script that renames or move the files back & forth from one directory to another, and then schedule the script to run on the server when the scheduled down time is, which is on Thursdays at 8pm and during... (5 Replies)
Discussion started by: dannyghost
5 Replies

7. UNIX for Dummies Questions & Answers

Using Rename to move files

I am connecting to a remote server (Unix) and doing a ftp dowmload of files. The script (VB script) works fine except for not being able to move the downloaded files on the remote server to another folder. I need to move all files with an .asc extesnion from folder "tovecellio_edi" to folder... (1 Reply)
Discussion started by: snufse
1 Replies

8. Shell Programming and Scripting

Find, Append, Move & Rename Multiple Files

Using a bash script, I need to find all files in a folder "except" the newest file. Then I need to insert the contents of one text file into all the files found. This text needs to be placed at the beginning of each file and needs a blank line between it and the current contents of the file. Then I... (5 Replies)
Discussion started by: Trapper
5 Replies

9. Shell Programming and Scripting

Move and rename files in seq. with padded digits

Greetings, I am new to scripting, but find if I can see the code working for a given problem, then I can eventually figure it out. (9 Replies)
Discussion started by: rocinante
9 Replies

10. Shell Programming and Scripting

Move files and rename ??

1. If I have a file-yyyymmdd.dat in a directory DATA1, then how do I move this file to directory DATA2 and the file name change to file-yyyymmdd.dat.currenttime I can manual do this $mv fileA-yyyymmdd.dat ./DATA2/fileA-yyyymmdd.dat.`date +%Y%m%d%H%M%S` but how do I move all of the files in... (1 Reply)
Discussion started by: sabercats
1 Replies
Login or Register to Ask a Question